Submission #2862667
Source Code Expand
#include<cstdio> #include<queue> #include<utility> #include<cstring> #include<stack> #include<algorithm> #include<cmath> #include<iostream> #define MAX_N 100001 #define INF 2147483647 #define REP(i,n) for(int i=0;i<(int)(n);i++) void init(int n); int find(int n); void unite(int x,int y); bool same(int x, int y); int dx[4] = {1,0,0,-1}; int dy[4] = {0,1,-1,0}; using namespace std; int main() { int N,l,r,s,t,co; string S,L="",R=""; cin >> N; cin >> S; t = 0; s = 0; co = 0; REP(i,N){ if(S[i] == '('){ t++; }else{ if(t >= 1){ t--; }else{ co++; } } } REP(i,co)L = L + "("; t = 0; s = 0; co = 0; for(int i=N-1;i>=0;i--){ if(S[i] == ')'){ t++; }else{ if(t >= 1){ t--; }else{ co++; } } } REP(i,co)R = R + ")"; cout << (L + S + R) << endl; return 0; } int par[MAX_N]; int ranks[MAX_N]; //n要素で初期化 void init(int n){ REP(i,n){ par[i] = i; ranks[i] = 0; } } //木の根を求める int find(int x){ if(par[x] == x){ return x; }else{ return par[x] = find(par[x]); } } void unite(int x,int y){ x = find(x); y = find(y); if(x == y) return ; if(ranks[x] < ranks[y]){ par[x] = y; }else{ par[y] = x; if(ranks[x] == ranks[y]) ranks[x]++; } } bool same(int x, int y){ return find(x) == find(y); }
Submission Info
Submission Time | |
---|---|
Task | D - Insertion |
User | makss |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1510 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | in1.txt, in2.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 1 ms | 256 KB |
in2.txt | AC | 1 ms | 256 KB |
in3.txt | AC | 1 ms | 256 KB |
in4.txt | AC | 1 ms | 256 KB |
in5.txt | AC | 1 ms | 256 KB |
in6.txt | AC | 1 ms | 256 KB |
in7.txt | AC | 1 ms | 256 KB |
in8.txt | AC | 1 ms | 256 KB |
in9.txt | AC | 1 ms | 256 KB |
s1.txt | AC | 1 ms | 256 KB |
s2.txt | AC | 1 ms | 256 KB |
s3.txt | AC | 1 ms | 256 KB |