# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
70638 | 2018-08-23T07:57:25 Z | octopuses | Alternating Current (BOI18_alternating) | C++17 | 3000 ms | 4620 KB |
//Giorgi Kldiashvili #include <bits/stdc++.h> #define ll long long using namespace std; const int N = 100020; int n, m; inline int dis(int x, int y) { if(y < x) return n + y - x + 1; return y - x + 1; } vector < pair < int, int > > A[N]; int answer[N], S[N][2]; int main() { scanf("%d %d", &n, &m); int ci, cm; ci = cm = 0; for(int i = 1; i <= m; ++ i) { int x, y; scanf("%d %d", &x, &y); A[x - 1].push_back(make_pair(dis(x, y), i)); if(dis(x, y) > cm) ci = x - 1, cm = dis(x, y); } for(int p = 0; p < n; ++ p) { int i = (p + ci) % n; for(int j = 0; j < A[i].size(); ++ j) { int x = A[i][j].first; int c = 0; for(int k = 0; k < n; ++ k) { int now = (i + k) % n; if(S[now][0] == 0) { c = 0; break; } if(S[now][1] == 0) { c = 1; break; } } answer[A[i][j].second] = c; for(int k = 0; k < x; ++ k) S[(i + k) % n][c] = 1; } } for(int i = 0; i < n; ++ i) if(S[i][0] == 0 || S[i][1] == 0) return printf("impossible"), 0; for(int i = 1; i <= m; ++ i) printf("%d", answer[i]); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2680 KB | Output is correct |
2 | Correct | 4 ms | 2792 KB | Output is correct |
3 | Incorrect | 5 ms | 2792 KB | 'impossible' claimed, but there is a solution |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2680 KB | Output is correct |
2 | Correct | 4 ms | 2792 KB | Output is correct |
3 | Incorrect | 5 ms | 2792 KB | 'impossible' claimed, but there is a solution |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2680 KB | Output is correct |
2 | Correct | 4 ms | 2792 KB | Output is correct |
3 | Incorrect | 5 ms | 2792 KB | 'impossible' claimed, but there is a solution |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3023 ms | 4620 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2680 KB | Output is correct |
2 | Correct | 4 ms | 2792 KB | Output is correct |
3 | Incorrect | 5 ms | 2792 KB | 'impossible' claimed, but there is a solution |
4 | Halted | 0 ms | 0 KB | - |