# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
730744 | 2023-04-26T10:55:17 Z | Augustyn | Superpozicija (COCI22_superpozicija) | C++17 | 35 ms | 3152 KB |
#include<bits/stdc++.h> using namespace std; #define f first #define s second #define pf printf #define pii pair<int,int> pii ab[200001]; char naw[200001]; int jb[200001],gr[200001]; int t,n; void rozw() { scanf("%d",&n); priority_queue<pii ,vector<pii >,greater<pii >>dod; getchar(); for(int i=0;i<n*2;++i) naw[i]=getchar(); for(int i=0;i<n;++i) { scanf("%d%d",&ab[i].f,&ab[i].s); --ab[i].f; --ab[i].s; gr[ab[i].f]=ab[i].s; gr[ab[i].s]=ab[i].f; } int ile=0; for(int i=0;i<2*n;++i) { if(naw[gr[i]]==naw[i]) { if(naw[i]=='('&&i<gr[i]) { jb[i]=t; jb[gr[i]]=-t; ++ile; } else if(naw[i]==')'&&i>gr[i]) { jb[i]=t; jb[gr[i]]=-t; --ile; } } else { if(jb[i]!=-t&&jb[i]!=t) { if(naw[i]=='(') { jb[i]=-t; jb[gr[i]]=t; dod.push({gr[i],i}); } else { jb[i]=t; jb[gr[i]]=-t; --ile; dod.push({gr[i],i}); } } else if(jb[i]==t) { ile++; if(naw[i]==')') ile-=2; } } if(ile<0) { if(dod.empty()) { pf("-1\n"); return; } jb[dod.top().s]*=-1; jb[dod.top().f]*=-1; ++ile; if(max(dod.top().f,dod.top().s)<=i) ++ile; dod.pop(); } } if(ile!=0) { pf("-1\n"); return; } for(int i=0;i<n;++i) { if(jb[ab[i].f]==t) pf("0 "); else pf("1 "); } pf("\n"); } int main() { scanf("%d",&t); while(t) { rozw(); --t; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 23 ms | 456 KB | Output is correct |
2 | Correct | 21 ms | 340 KB | Output is correct |
3 | Correct | 23 ms | 464 KB | Output is correct |
4 | Correct | 23 ms | 416 KB | Output is correct |
5 | Correct | 25 ms | 468 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 22 ms | 340 KB | Output is correct |
2 | Correct | 17 ms | 580 KB | Output is correct |
3 | Correct | 17 ms | 836 KB | Output is correct |
4 | Correct | 17 ms | 1036 KB | Output is correct |
5 | Correct | 14 ms | 1336 KB | Output is correct |
6 | Correct | 10 ms | 1492 KB | Output is correct |
7 | Correct | 12 ms | 1840 KB | Output is correct |
8 | Correct | 14 ms | 2096 KB | Output is correct |
9 | Correct | 16 ms | 2280 KB | Output is correct |
10 | Correct | 20 ms | 2536 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 19 ms | 408 KB | Output is correct |
3 | Correct | 18 ms | 668 KB | Output is correct |
4 | Correct | 18 ms | 980 KB | Output is correct |
5 | Correct | 20 ms | 1336 KB | Output is correct |
6 | Correct | 19 ms | 1640 KB | Output is correct |
7 | Correct | 9 ms | 1084 KB | Output is correct |
8 | Correct | 15 ms | 2132 KB | Output is correct |
9 | Correct | 15 ms | 2444 KB | Output is correct |
10 | Correct | 20 ms | 2800 KB | Output is correct |
11 | Correct | 24 ms | 3016 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 23 ms | 456 KB | Output is correct |
2 | Correct | 21 ms | 340 KB | Output is correct |
3 | Correct | 23 ms | 464 KB | Output is correct |
4 | Correct | 23 ms | 416 KB | Output is correct |
5 | Correct | 25 ms | 468 KB | Output is correct |
6 | Correct | 22 ms | 340 KB | Output is correct |
7 | Correct | 17 ms | 580 KB | Output is correct |
8 | Correct | 17 ms | 836 KB | Output is correct |
9 | Correct | 17 ms | 1036 KB | Output is correct |
10 | Correct | 14 ms | 1336 KB | Output is correct |
11 | Correct | 10 ms | 1492 KB | Output is correct |
12 | Correct | 12 ms | 1840 KB | Output is correct |
13 | Correct | 14 ms | 2096 KB | Output is correct |
14 | Correct | 16 ms | 2280 KB | Output is correct |
15 | Correct | 20 ms | 2536 KB | Output is correct |
16 | Correct | 1 ms | 212 KB | Output is correct |
17 | Correct | 19 ms | 408 KB | Output is correct |
18 | Correct | 18 ms | 668 KB | Output is correct |
19 | Correct | 18 ms | 980 KB | Output is correct |
20 | Correct | 20 ms | 1336 KB | Output is correct |
21 | Correct | 19 ms | 1640 KB | Output is correct |
22 | Correct | 9 ms | 1084 KB | Output is correct |
23 | Correct | 15 ms | 2132 KB | Output is correct |
24 | Correct | 15 ms | 2444 KB | Output is correct |
25 | Correct | 20 ms | 2800 KB | Output is correct |
26 | Correct | 24 ms | 3016 KB | Output is correct |
27 | Correct | 24 ms | 416 KB | Output is correct |
28 | Correct | 24 ms | 724 KB | Output is correct |
29 | Correct | 21 ms | 1040 KB | Output is correct |
30 | Correct | 27 ms | 1452 KB | Output is correct |
31 | Correct | 35 ms | 1704 KB | Output is correct |
32 | Correct | 17 ms | 1876 KB | Output is correct |
33 | Correct | 17 ms | 2256 KB | Output is correct |
34 | Correct | 21 ms | 2476 KB | Output is correct |
35 | Correct | 24 ms | 2768 KB | Output is correct |
36 | Correct | 28 ms | 3152 KB | Output is correct |