Submission #13114010
Source Code Expand
// Problem : F - Bracket Sequencing
// Contest : AtCoder - AtCoder Beginner Contest 167
// URL : https://atcoder.jp/contests/abc167/tasks/abc167_f
// Memory Limit : 1024 MB
// Time Limit : 2000 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)
#include<bits/stdc++.h>
#define ll long long
#define db double
#define mod 1000000007
#define pb push_back
#define pp pair<ll,ll>
#define rep(i,a,b) for(ll i=a;i<b;i++)
#define repe(i,a,b) for(ll i=a;i<=b;i++)
#define repr(i,a,b) for(ll i=b;i>=a;i--)
#define maxn 1005
#define ss second
#define ff first
#define all(a) a.begin(),a.end()
#define lb lower_bound
using namespace std;
struct tup{
ll l,r,ind;
};
bool compare(tup a,tup b)
{
if(a.r < b.r)
return true;
else if(a.r==b.r and a.l >= b.l)
return true;
return false;
}
bool compare1(tup a,tup b)
{
if(a.l < b.l)
return true;
else if(a.l == b.l and a.r>=b.r)
return true;
return false;
}
void solve()
{
ll n;
cin >> n ;
vector<tup> arrl,arrr;
ll k=0;
rep(i,0,n)
{
string str;
cin >> str;
ll l=0,r=0;
ll cnt=0;
rep(j,0,str.size())
{
if(str[j]=='(')
{
cnt++;
}
else if(cnt>0)
cnt--;
else r++;
}
l=cnt;
if(l>0||r>0)
{
arrl.pb({l,r,k});
arrr.pb({l,r,k});
k++;
}
}
sort(arrl.begin(),arrl.end(),compare);
sort(arrr.begin(),arrr.end(),compare1);
map<ll,ll> mp;
ll i=0,j=0;
ll l=0,r=0;
while(i<k and j<k)
{
while(i<k)
{
if(mp.count(arrl[i].ind))
{
i++;
continue;
}
l -= arrl[i].r;
if(l < 0)
{
cout << "No";
return;
}
l+=arrl[i].l;
mp[arrl[i].ind]++;
i++;
if(l > r)
break;
}
if(i == k)
break;
while(j<k)
{
if(mp.count(arrr[j].ind))
{
j++;
continue;
}
r -= arrr[j].l;
if(r < 0)
{
cout << "No";
return;
}
r +=arrr[j].r;
mp[arrr[j].ind]++;
j++;
if(r > l)
break;
}
}
if(r == l)
{
cout << "Yes";
return;
}
cout << "No";
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll t=1;
//cin >> t;
while(t--)
solve();
return 0;
}
Submission Info
| Submission Time |
|
| Task |
F - Bracket Sequencing |
| User |
amit9019 |
| Language |
C++ (GCC 9.2.1) |
| Score |
0 |
| Code Size |
2209 Byte |
| Status |
RE |
| Exec Time |
2207 ms |
| Memory |
50348 KiB |
Compile Error
./Main.cpp: In function ‘void solve()’:
./Main.cpp:15:32: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
15 | #define rep(i,a,b) for(ll i=a;i<b;i++)
......
55 | rep(j,0,str.size())
| ~~~~~~~~~~~~~~
./Main.cpp:55:3: note: in expansion of macro ‘rep’
55 | rep(j,0,str.size())
| ^~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
0 / 600 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01, sample_02, sample_03, sample_04 |
| All |
random_01, random_02, random_03, random_04, random_05, random_06, random_07, random_08, random_09, random_10, random_11, random_12, random_13, random_21, random_22, random_23, random_31, random_32, random_33, random_41, random_42, random_43, random_51, random_52, random_53, random_61, random_62, random_63, sample_01, sample_02, sample_03, sample_04 |
| Case Name |
Status |
Exec Time |
Memory |
| random_01 |
TLE |
2206 ms |
14932 KiB |
| random_02 |
TLE |
2207 ms |
40240 KiB |
| random_03 |
TLE |
2206 ms |
21952 KiB |
| random_04 |
RE |
216 ms |
50348 KiB |
| random_05 |
RE |
215 ms |
50252 KiB |
| random_06 |
AC |
30 ms |
3624 KiB |
| random_07 |
AC |
20 ms |
3504 KiB |
| random_08 |
AC |
10 ms |
3612 KiB |
| random_09 |
AC |
12 ms |
3668 KiB |
| random_10 |
AC |
27 ms |
3632 KiB |
| random_11 |
AC |
2 ms |
3636 KiB |
| random_12 |
AC |
2 ms |
3652 KiB |
| random_13 |
AC |
2 ms |
3652 KiB |
| random_21 |
AC |
2 ms |
3644 KiB |
| random_22 |
AC |
2 ms |
3604 KiB |
| random_23 |
AC |
2 ms |
3600 KiB |
| random_31 |
AC |
2 ms |
3672 KiB |
| random_32 |
AC |
2 ms |
3604 KiB |
| random_33 |
AC |
2 ms |
3520 KiB |
| random_41 |
AC |
2 ms |
3644 KiB |
| random_42 |
AC |
2 ms |
3652 KiB |
| random_43 |
AC |
2 ms |
3524 KiB |
| random_51 |
AC |
2 ms |
3512 KiB |
| random_52 |
AC |
2 ms |
3596 KiB |
| random_53 |
AC |
2 ms |
3456 KiB |
| random_61 |
TLE |
2206 ms |
8564 KiB |
| random_62 |
RE |
133 ms |
12576 KiB |
| random_63 |
RE |
143 ms |
13116 KiB |
| sample_01 |
AC |
4 ms |
3504 KiB |
| sample_02 |
AC |
2 ms |
3492 KiB |
| sample_03 |
AC |
2 ms |
3564 KiB |
| sample_04 |
AC |
3 ms |
3632 KiB |