# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
699496 | 2023-02-17T07:24:33 Z | Cross_Ratio | Teoretičar (COCI18_teoreticar) | C++14 | 294 ms | 228492 KB |
#include <bits/stdc++.h> using namespace std; int num[500005]; array<int, 2> Edge[100005]; vector<int> adj[100005]; vector<int> adj2[100005]; int num_cnt = 0; int num1[100005]; int num2[100005]; bool pos[10005][10005]; signed main() { cin.sync_with_stdio(false); cin.tie(0); cout.tie(0); int L, R, M; cin >> L >> R >> M; int i, j; for(i=0;i<M;i++) { int a, b; cin >> a >> b; adj[a-1].push_back(b-1); adj2[b-1].push_back(a-1); Edge[i] = {a-1, b-1}; } for(i=0;i<=L;i++) { for(j=0;j<=10000;j++) pos[i][j] = true; } for(i=0;i<L;i++) { int cnt = 0; while(!pos[i][cnt]) cnt++; pos[i][cnt] = false; num1[i] = cnt; for(int j : adj[i]) { for(int k : adj2[j]) pos[k][cnt] = false; } } for(i=0;i<=R;i++) { for(j=0;j<=10000;j++) pos[i][j] = true; } for(j=0;j<R;j++) { int cnt = 0; while(!pos[j][cnt]) cnt++; pos[j][cnt] = false; num2[j] = cnt; for(int i : adj2[j]) { for(int k : adj[i]) pos[k][cnt] = false; } } vector<int> idx; for(i=0;i<M;i++) { idx.push_back(num1[Edge[i][0]]^num2[Edge[i][1]]); num[i] = num1[Edge[i][0]]^num2[Edge[i][1]]; } sort(idx.begin(),idx.end()); idx.erase(unique(idx.begin(),idx.end()),idx.end()); for(i=0;i<M;i++) { num[i] = lower_bound(idx.begin(),idx.end(),num[i]) - idx.begin(); } int madeg = 0; for(i=0;i<L;i++) madeg = max(madeg, (int)adj[i].size()); for(i=0;i<R;i++) madeg = max(madeg, (int)adj2[i].size()); int val = 1; for(;val<madeg;val*=2) {} assert(idx.size()<=val); cout << idx.size() << '\n'; for(i=0;i<M;i++) cout << num[i]+1 << '\n'; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 9 ms | 10284 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 5972 KB | Output is correct |
2 | Correct | 3 ms | 5972 KB | Output is correct |
3 | Correct | 3 ms | 5972 KB | Output is correct |
4 | Runtime error | 9 ms | 11092 KB | Execution killed with signal 6 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 58 ms | 70132 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 20 ms | 34664 KB | Output is correct |
2 | Runtime error | 23 ms | 30384 KB | Execution killed with signal 6 |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 272 ms | 228492 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 294 ms | 228292 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 90 ms | 26136 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 87 ms | 26516 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 65 ms | 23544 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 70 ms | 23492 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |