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
AC × 4
AC × 24
TLE × 4
RE × 4
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