AOJ0590 Available Areas

Available Areas | Aizu Online Judge

Introduction to Programming Introduction to Algorithms and Data Structures Library of Data Structures Library of Graph Algorithms Library of Computational Geometry Library of Dynamic Programming Library of Number Theory

で表せるか調べる.の値を決めた時に, キッチンを引いた長方形が存在するかどうかを調べた.

Code

解説書いてる時に気付いたけど,が逆だ.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <vector>
#include <string>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <map>
#include <set>
#include <cmath>

#define REP(i,k,n) for(int i=k;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)
#define INF 1<<30
#define pb push_back
#define mp make_pair

using namespace std;
typedef long long ll;
typedef pair<int,int> P;

int main() {
  int n;
  cin >> n;

  int ans = 0;
  rep(i, n) {
      int a;
      cin >> a;

      bool flag = false;
      for(int y = 1; 2 * y * y + 2 * y <= a; y++) {
          if((a - y) % (2 * y + 1) == 0) {
              flag = true;
          }
      }

      if(flag) ans++;
  }

  cout << n - ans << endl;

  return 0;
}
Mar 6th, 2016
aoj