# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
931654 | 2024-02-22T08:01:44 Z | vjudge1 | Zagrade (COI17_zagrade) | C++17 | 37 ms | 4336 KB |
#include <bits/stdc++.h> using namespace std; #ifdef DEBUG #include "debug.h" #else #define debug(...) 0 #endif typedef long long ll; const int N = 3e5 + 4; int n, _f[2 * N], ans[N]; string s; int& f(int k) { k += N; return _f[k]; } int main() { ios::sync_with_stdio(0); cin.tie(0); for (int i = 0; i < 2 * N; i++) { _f[i] = N; } cin >> n >> s; for (int i = 1; i < n; i++) { int v, u; cin >> v >> u; } int sum = 0; for (int i = n - 1; i >= 0; i--) { if (s[i] == '(') { sum--; f(1 + sum) = i; } else { sum++; f(-1 + sum) = i; } int R = f(sum); if (R < n && s[i] == '(') { ans[i] = ans[R + 1] + 1; } } ll Ans = 0; for (int i = 0; i < n; i++) { Ans += ans[i]; debug(i, ans[i]); } cout << Ans; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 3676 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 37 ms | 4336 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 3676 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |