Submission #231356

#TimeUsernameProblemLanguageResultExecution timeMemory
231356nicolaalexandraMatch (CEOI16_match)C++14
37 / 100
2099 ms504 KiB
#include <bits/stdc++.h>
#define DIM 100010
using namespace std;
char v[DIM];
deque <char> s,d;
int n,i;

int verif (int poz){
    for (int i=poz;i<=n;i++){
        if (!d.empty() && d.back() == v[i])
            d.pop_back();
        else d.push_back(v[i]);
    }
    return d.empty();
}
int main (){

    //ifstream cin ("match.in");
    //ofstream cout ("match.out");

    cin>>v+1;
    n = strlen (v+1);

    /// verific daca am solutie
    s.push_back(v[1]);
    for (i=2;i<=n;i++){
        if (!s.empty() && s.back() == v[i])
            s.pop_back();
        else s.push_back(v[i]);
    }

    if (!s.empty()){
        cout<<-1;
        return 0;
    }

    s.push_back(v[1]);
    cout<<"(";
    for (i=2;i<=n;i++){
        /// incerc sa pun (
        d = s;
        d.push_back(v[i]);
        if (verif(i+1)){
            s.push_back(v[i]);
            cout<<"(";
        } else {
            cout<<")";
            s.pop_back();
        }
    }


    return 0;
}

Compilation message (stderr)

match.cpp: In function 'int main()':
match.cpp:21:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
     cin>>v+1;
          ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...