53722023-04-26 19:22:15gortomiZárójelekcpp17Hibás válasz 20/1009ms9624 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<string> s(n);
    for(int i = 0; i < n; i++) cin >> s[i];
    vector<pair<int, int> > v1, v2;
    vector<int> t(n);
    int sum = 0;
    for(int i = 0; i < n; i++)
    {
        int act = 0, mini = 0;
        for(auto x : s[i])
        {
            if(x == '(') act++;
            else act--;
            mini = min(mini, act);
        }
        mini *= -1;
        if(act > 0)
        {
            v1.push_back({mini, i});
            t[i] = act;
        }
        else
        {
            v2.push_back({mini + act, i});
            t[i] = -act;
        }
        sum += act;
    }
    if(sum != 0)
    {
        cout << "-1";
        return 0;
    }
    int cur = 0;
    vector<int> ans1, ans2;
    for(auto x : v1)
    {
        if(x.first > cur)
        {
            cout << "-1";
            return 0;
        }
        int y = x.second;
        ans1.push_back(y);
        cur += t[y];
    }
    cur = 0;
    for(auto x : v2)
    {
        if(x.first > cur)
        {
            cout << "-1";
            return 0;
        }
        int y = x.second;
        ans2.push_back(y);
        cur += t[y];
    }
    for(auto x : ans1) cout << x + 1 << " ";
    reverse(ans2.begin(), ans2.end());
    for(auto x : ans2) cout << x + 1 << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1832 KiB
2Hibás válasz4ms2772 KiB
subtask20/11
3Hibás válasz3ms2264 KiB
4Hibás válasz3ms2460 KiB
5Elfogadva3ms2668 KiB
6Elfogadva3ms2872 KiB
7Hibás válasz3ms3552 KiB
8Elfogadva3ms3636 KiB
subtask36/6
9Elfogadva4ms4100 KiB
10Elfogadva4ms4044 KiB
11Elfogadva4ms3988 KiB
subtask414/14
12Elfogadva4ms4268 KiB
13Elfogadva4ms4184 KiB
subtask50/23
14Hibás válasz4ms4176 KiB
15Hibás válasz4ms4420 KiB
subtask60/19
16Hibás válasz3ms4344 KiB
17Elfogadva4ms4504 KiB
18Hibás válasz4ms4500 KiB
19Hibás válasz3ms4480 KiB
20Hibás válasz3ms4716 KiB
21Hibás válasz3ms4544 KiB
22Hibás válasz3ms4632 KiB
23Hibás válasz3ms4632 KiB
24Hibás válasz4ms4764 KiB
subtask70/27
25Elfogadva3ms4836 KiB
26Hibás válasz4ms5028 KiB
27Hibás válasz4ms5360 KiB
28Hibás válasz4ms5748 KiB
29Hibás válasz4ms6316 KiB
30Hibás válasz9ms9624 KiB
31Hibás válasz4ms5664 KiB
32Hibás válasz4ms5728 KiB
33Hibás válasz4ms5724 KiB
34Hibás válasz4ms5960 KiB
35Hibás válasz3ms5600 KiB
36Hibás válasz4ms5916 KiB
37Elfogadva3ms5456 KiB
38Hibás válasz3ms5596 KiB
39Hibás válasz6ms7280 KiB
40Hibás válasz3ms5192 KiB
41Hibás válasz3ms4928 KiB
42Hibás válasz4ms5436 KiB
43Hibás válasz4ms5384 KiB