Submission #13096927


Source Code Expand

    #include<bits/stdc++.h>
using namespace std;
#define se second
#define fi first
#define ll long long
#define ld long double
#define pll pair<ll ,ll >
#define plll pair<ll,pll>
#define ppll pair<pll, pll>
#define pii pair<int, int> 
#define pb push_back
#define mod 1000000007

ll power(ll a,ll b){
    ll res=1ll;
    while(b>0){
        if(b%2!=0) res=(res*a)%mod;
        a=(a*a)%mod;
        b/=2;
    }
    return res%mod;
}
ll ncr(ll n,ll k){
    if(k>n-k) k=n-k;
    ll pro=1;
    for(ll i=0;i<k;i++){
        pro=(pro*(n-i))%mod;
        pro/=(i+1);
    }
    return (pro)%mod;
}

void swap(ll *a,ll *b) {
    ll temp=*a;
    *a=*b;
    *b=temp;
}
vector<ll> prime;
void seive(){
    vector<bool > isprime(1000001,true);
    for(int i=2;i*i<=1000000;i++){
        if(isprime[i]){
            for(int j=i*i;j<=1000000;j+=i){
                isprime[j]=false;
            }
        }
    }
    for(int i=2;i<=1000000;i++){
        if(isprime[i]) prime.push_back(i);
    }
}
vector<ll> parent;
ll find(ll p) {
    if(parent[p]==p) return parent[p];
    return parent[p]=find(parent[p]); 
}
void unun(ll a,ll b) {
    ll r1=find(a);
    ll r2=find(b);
    if(r1!=r2) parent[r2]=r1;
}
bool cmp(pair<string,pll> A,pair<string,pll> B) {
    return (A.se.fi-A.se.se)>(B.se.fi-B.se.se);
}
void solve() {
    ll n;
    cin>>n;
    string str;
    ll sum=0;
    vector<pair<string,pll> > arr;
    for(int i=0;i<n;i++) {
        cin>>str;
        ll val=0,op=0,cl=0,flag=0;
        for(int j=0;j<str.size();j++) {
            if(str[j]=='(') {
                val++;
                op++;
            }
            else {
                val--;
                if(val<0) flag=1;
                cl++;
            }
        }
        // cout<<val<<endl;
        if(flag==1) arr.pb({str,{op,cl}});
        else if(flag==0 && val!=0) arr.pb({str,{op,cl}});
        sum+=val;
    }
    if(sum!=0) {
        cout<<"No";
        return ;
    }
    else{
        sort(arr.begin(),arr.end(),cmp);
        int val=0;
        for(int i=0;i<arr.size();i++) {
            // cout<<arr[i].fi<<endl;
            for(int j=0;j<arr[i].fi.size();j++) {
                if(arr[i].fi[j]=='(') val++;
                else  val--;
                if(val<0) {
                    cout<<"No";
                    return ;
                }
            }
        }
        cout<<"Yes";
    }

}   


int main(void){
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL);
    cout.tie(NULL);
    int t;
    t=1;
    // cin>>t;
    while(t--) {
        solve();
        cout<<endl;
    }
    return 0; 

}

Submission Info

Submission Time
Task F - Bracket Sequencing
User harshit935
Language C++ (GCC 9.2.1)
Score 0
Code Size 2709 Byte
Status WA
Exec Time 327 ms
Memory 52424 KiB

Compile Error

./Main.cpp: In function ‘void solve()’:
./Main.cpp:74:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   74 |         for(int j=0;j<str.size();j++) {
      |                     ~^~~~~~~~~~~
./Main.cpp:97:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<std::__cxx11::basic_string<char>, std::pair<long long int, long long int> > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   97 |         for(int i=0;i<arr.size();i++) {
      |                     ~^~~~~~~~~~~
./Main.cpp:99:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   99 |             for(int j=0;j<arr[i].fi.size();j++) {
      |                         ~^~~~~~~~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 4
AC × 19
WA × 13
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 WA 133 ms 15416 KiB
random_02 AC 283 ms 52360 KiB
random_03 AC 169 ms 27836 KiB
random_04 AC 327 ms 52424 KiB
random_05 AC 106 ms 52352 KiB
random_06 AC 29 ms 3584 KiB
random_07 AC 14 ms 3656 KiB
random_08 AC 15 ms 3428 KiB
random_09 AC 10 ms 3516 KiB
random_10 AC 29 ms 3600 KiB
random_11 WA 2 ms 3584 KiB
random_12 WA 2 ms 3500 KiB
random_13 WA 2 ms 3560 KiB
random_21 WA 2 ms 3556 KiB
random_22 WA 2 ms 3660 KiB
random_23 WA 2 ms 3460 KiB
random_31 WA 1 ms 3504 KiB
random_32 WA 2 ms 3508 KiB
random_33 WA 2 ms 3556 KiB
random_41 WA 2 ms 3648 KiB
random_42 WA 2 ms 3648 KiB
random_43 WA 2 ms 3648 KiB
random_51 AC 2 ms 3456 KiB
random_52 AC 2 ms 3620 KiB
random_53 AC 2 ms 3520 KiB
random_61 AC 70 ms 9440 KiB
random_62 AC 82 ms 15408 KiB
random_63 AC 102 ms 15512 KiB
sample_01 AC 2 ms 3492 KiB
sample_02 AC 2 ms 3580 KiB
sample_03 AC 2 ms 3480 KiB
sample_04 AC 2 ms 3536 KiB