Submission #54770502


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using ld = long double;
using pl = pair<ll, ll>;
constexpr ll INF = 1e9 + 7;
constexpr ll mod = 1e9 + 7;
constexpr ld eps = 1e-9;
const ld PI = acos(-1);

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    string s;
    cin >> s;
    int n = s.size();
    vector<char> res(n, 0);
    vector<int> o(n, 0);
    vector<int> z;
    for (int i = 0; i < n; ++i) {
        if (s[i] == '(') {
            z.push_back(i);
        } else if (s[i] == ')') {
            o[z.back()] = i;
            z.pop_back();
        }
    }
    vector<array<int, 2>> st;
    for (int i = 0; i < n; ++i) {
        if (s[i] == '(') {
            if (st.empty()) {
                st.push_back({i, i});
            } else {
                auto [who, l] = st.back();
                int len = o[i] - i;
                st.push_back({i, (st.size() % 2 ? (l + o[who] - who) - (i - who) - len : l + (i - who))});
            }
        } else if (s[i] == ')') {
            st.pop_back();
        } else {
            if (st.empty()) {
                res[i] = s[i];
                continue;
            }
            if (st.size() % 2) {
                if (isupper(s[i]))s[i] = tolower(s[i]);
                else s[i] = toupper(s[i]);
            }
            auto [who, l] = st.back();

            res[(st.size() % 2 ? l + o[who] - who - (i - who) : l + (i - who))] = s[i];
        }
    }
    for (auto x: res)if (x)cout << x;
    return 0;
}

Submission Info

Submission Time
Task F - Transpose
User ZergTricky
Language C++ 20 (gcc 12.2)
Score 550
Code Size 1558 Byte
Status AC
Exec Time 14 ms
Memory 9136 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 550 / 550
Status
AC × 4
AC × 33
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3488 KiB
sample_02.txt AC 1 ms 3480 KiB
sample_03.txt AC 1 ms 3480 KiB
sample_04.txt AC 1 ms 3504 KiB
test_01.txt AC 1 ms 3560 KiB
test_02.txt AC 1 ms 3360 KiB
test_03.txt AC 1 ms 3428 KiB
test_04.txt AC 12 ms 7460 KiB
test_05.txt AC 10 ms 6136 KiB
test_06.txt AC 9 ms 7468 KiB
test_07.txt AC 12 ms 7396 KiB
test_08.txt AC 10 ms 7384 KiB
test_09.txt AC 11 ms 7468 KiB
test_10.txt AC 7 ms 6296 KiB
test_11.txt AC 8 ms 7604 KiB
test_12.txt AC 14 ms 7024 KiB
test_13.txt AC 13 ms 7368 KiB
test_14.txt AC 11 ms 6520 KiB
test_15.txt AC 11 ms 6544 KiB
test_16.txt AC 13 ms 6976 KiB
test_17.txt AC 10 ms 7464 KiB
test_18.txt AC 13 ms 7380 KiB
test_19.txt AC 13 ms 7032 KiB
test_20.txt AC 7 ms 6232 KiB
test_21.txt AC 8 ms 7544 KiB
test_22.txt AC 11 ms 6552 KiB
test_23.txt AC 12 ms 7024 KiB
test_24.txt AC 7 ms 9136 KiB
test_25.txt AC 8 ms 9024 KiB
test_26.txt AC 7 ms 9068 KiB
test_27.txt AC 12 ms 8728 KiB
test_28.txt AC 13 ms 8640 KiB
test_29.txt AC 11 ms 7036 KiB