53712023-04-26 19:21:24gortomiZárójelekcpp17Hibás válasz 0/10010ms9492 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 << " ";
    reverse(ans2.begin(), ans2.end());
    for(auto x : ans2) cout << x << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1828 KiB
2Hibás válasz4ms2616 KiB
subtask20/11
3Hibás válasz3ms2112 KiB
4Hibás válasz3ms2324 KiB
5Hibás válasz3ms2540 KiB
6Hibás válasz3ms2744 KiB
7Hibás válasz3ms3708 KiB
8Elfogadva3ms3660 KiB
subtask30/6
9Hibás válasz4ms3988 KiB
10Elfogadva4ms3980 KiB
11Elfogadva4ms4244 KiB
subtask40/14
12Hibás válasz4ms4552 KiB
13Hibás válasz4ms4836 KiB
subtask50/23
14Hibás válasz4ms4624 KiB
15Hibás válasz4ms4600 KiB
subtask60/19
16Hibás válasz3ms4576 KiB
17Hibás válasz3ms4764 KiB
18Hibás válasz4ms4752 KiB
19Hibás válasz4ms4648 KiB
20Hibás válasz3ms4704 KiB
21Hibás válasz3ms4672 KiB
22Hibás válasz3ms4876 KiB
23Hibás válasz3ms4824 KiB
24Hibás válasz3ms4916 KiB
subtask70/27
25Elfogadva3ms4884 KiB
26Hibás válasz4ms4992 KiB
27Hibás válasz4ms5360 KiB
28Hibás válasz4ms5476 KiB
29Hibás válasz4ms6128 KiB
30Hibás válasz10ms9492 KiB
31Hibás válasz4ms5392 KiB
32Hibás válasz4ms5384 KiB
33Hibás válasz4ms5304 KiB
34Hibás válasz4ms5396 KiB
35Hibás válasz3ms5104 KiB
36Hibás válasz4ms5468 KiB
37Elfogadva3ms5108 KiB
38Hibás válasz3ms5280 KiB
39Hibás válasz6ms7104 KiB
40Hibás válasz3ms5216 KiB
41Hibás válasz3ms4848 KiB
42Hibás válasz3ms5312 KiB
43Hibás válasz3ms5256 KiB