Submission #13095279
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef vector<int> vi; typedef vector<ll> vl;
typedef vector<vi> vvi; typedef vector<vl> vvl;
typedef pair<int, int> pii; typedef pair<ll, ll> pll;
typedef vector<pii> vii; typedef vector<pll> vll;
typedef map<int,int> mii;
typedef vector<char> vc;
typedef vector<bool> vb;
#define endl '\n'
#define forn(i,n) for(int i=0;i<n;i++)
#define rforn(i,n) for(int i=n-1;i>=0;i--)
#define forne(i,n) for(int i=1;i<=n;i++)
#define rforne(i,n) for(int i=n;i>=1;i--)
#define forse(i,s,e) for(int i=s;i<e;i++)
#define rforse(i,s,e) for(int i=e-1;i>=s;i--)
#define all(x) x.begin(),x.end()
#define sz(x) (ll)x.size()
#define MOD 1000000007
#define F first
#define S second
#define pb push_back
#define in insert
#define mp(a, b) make_pair(a, b)
#define fill(a,x) memset(a,x,sizeof a);
#define trav(a,x) for(auto &a:x)
#define min3(a, b, c) min(min(a, b), c)
#define min4(a, b, c, d) min(min(a, b), min(c, d))
#define max3(a, b, c) max(max(a, b), c)
#define max4(a, b, c, d) max(max(a, b), max(c, d))
#define INF INT_MAX
#ifdef KARAN
#include "../../trace.h"
#else
#define trace(args...)
#endif
ll modpow(ll a, ll b, ll m = MOD){a %= m; ll res = 1;
while (b) {if (b & 1)res = (res * a) % m; a = (a * a) % m; b >>= 1;} return res;}
ll bpow(ll a, ll b){ll res = 1; while (b) {if (b & 1)res = res * a; a = a * a; b >>= 1;} return res;}
ll modinv(ll a, ll m = MOD) {return modpow(a, m - 2, m);}
void graph(vvi &adj, int m) {int x, y; forn(i, m){cin>>x>>y; adj[--x].pb(--y); adj[y].pb(x);}}
bool compare(pii &a, pii &b){
if(a.F<b.F)
return true;
else if(a.F>b.F)
return false;
else
return a.S>b.S;
}
bool solve(){
int n;
cin>>n;
vii pos, neg;
int total_val = 0;
forn(i, n){
string s;
cin>>s;
int curr = 0, minim = 0;
for(auto c: s){
if(c=='(') curr++; else curr--;
minim = min(curr, minim);
}
if(minim>=0)
total_val += curr;
else if(curr>=0)
pos.pb(mp(minim, curr));
else
neg.pb(mp(minim, curr));
}
sort(all(pos), greater<pii>());
sort(all(neg), compare);
// trace(pos);
// trace(neg);
// trace(total_val);
int i = 0;
while(i<pos.size()&&total_val+pos[i].F>=0){
total_val += pos[i].S; i++;
}
if(i!=pos.size())
return false;
i = 0;
while(i<neg.size()&&total_val+neg[i].F>=0){
total_val += neg[i].S; i++;
}
if(i!=neg.size()||total_val!=0)
return false;
return true;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
#ifdef KARAN
freopen("inp.txt", "r", stdin);
freopen("out.txt", "w", stdout);
freopen("err.txt", "w", stderr);
#endif
int t=1;
while(t--)
if(solve()) cout<<"Yes"<<endl; else cout<<"No"<<endl;
}
Submission Info
| Submission Time |
|
| Task |
F - Bracket Sequencing |
| User |
karanagarwalla |
| Language |
C++ (GCC 9.2.1) |
| Score |
0 |
| Code Size |
2805 Byte |
| Status |
WA |
| Exec Time |
82 ms |
| Memory |
7692 KiB |
Compile Error
./Main.cpp: In function ‘bool solve()’:
./Main.cpp:81:9: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
81 | while(i<pos.size()&&total_val+pos[i].F>=0){
| ~^~~~~~~~~~~
./Main.cpp:84:6: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
84 | if(i!=pos.size())
| ~^~~~~~~~~~~~
./Main.cpp:87:9: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
87 | while(i<neg.size()&&total_val+neg[i].F>=0){
| ~^~~~~~~~~~~
./Main.cpp:90:6: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
90 | if(i!=neg.size()||total_val!=0)
| ~^~~~~~~~~~~~
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 |
AC |
34 ms |
4892 KiB |
| random_02 |
AC |
69 ms |
7692 KiB |
| random_03 |
AC |
46 ms |
6124 KiB |
| random_04 |
AC |
78 ms |
7324 KiB |
| random_05 |
AC |
82 ms |
7412 KiB |
| random_06 |
AC |
27 ms |
3516 KiB |
| random_07 |
AC |
14 ms |
3556 KiB |
| random_08 |
AC |
6 ms |
3592 KiB |
| random_09 |
AC |
9 ms |
3620 KiB |
| random_10 |
AC |
29 ms |
3608 KiB |
| random_11 |
WA |
3 ms |
3616 KiB |
| random_12 |
WA |
2 ms |
3616 KiB |
| random_13 |
WA |
2 ms |
3520 KiB |
| random_21 |
WA |
2 ms |
3556 KiB |
| random_22 |
WA |
4 ms |
3568 KiB |
| random_23 |
WA |
2 ms |
3636 KiB |
| random_31 |
WA |
2 ms |
3580 KiB |
| random_32 |
WA |
2 ms |
3636 KiB |
| random_33 |
WA |
2 ms |
3524 KiB |
| random_41 |
WA |
2 ms |
3460 KiB |
| random_42 |
WA |
2 ms |
3636 KiB |
| random_43 |
WA |
2 ms |
3600 KiB |
| random_51 |
AC |
2 ms |
3616 KiB |
| random_52 |
AC |
2 ms |
3524 KiB |
| random_53 |
AC |
2 ms |
3520 KiB |
| random_61 |
AC |
21 ms |
4052 KiB |
| random_62 |
AC |
27 ms |
5100 KiB |
| random_63 |
AC |
35 ms |
5284 KiB |
| sample_01 |
AC |
2 ms |
3632 KiB |
| sample_02 |
AC |
2 ms |
3592 KiB |
| sample_03 |
AC |
2 ms |
3556 KiB |
| sample_04 |
AC |
2 ms |
3644 KiB |