답안 #198205

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
198205 2020-01-25T06:27:54 Z ruler 괄호 문자열 (CEOI16_match) C++14
37 / 100
2000 ms 504 KB
// IOI 2021
#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define ends ' '
#define die(x) return cout << x << endl, 0
#define all(v) v.begin(), v.end()
#define sz(x) (int)(x.size())
void debug_out() { cerr << endl; }
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) { cerr << ends << H; debug_out(T...); }
#define debug(...) cerr << "{" << #__VA_ARGS__ << "}:", debug_out(__VA_ARGS__)
typedef long long ll;
typedef pair<int, int> pii;
const ll INF = 1e9;
const ll MOD = 1e9 + 7;

////////////////////////////////////////////////////////////////////

const int N = 1e4 + 5;

string S;
int n;

bool F(stack<char> st, int pos) {
	for (int i = pos; i < n; i++) {
		if (st.empty() || st.top() != S[i]) st.push(S[i]);
		else st.pop();
	}
	return st.empty();
}

int main() {

	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	
	cin >> S; n = sz(S);
	stack<char> st;
	string ans = "";
	for (int i = 0; i < n; i++) {
		st.push(S[i]);
		if (!F(st, i + 1)) {
			st.pop();
			if (st.empty() || st.top() != S[i]) die(-1);
			st.pop();
			ans += ')';
		} else ans += '(';
	}
	cout << ans << endl;

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 3 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 6 ms 376 KB Output is correct
7 Correct 8 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
4 Correct 3 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 6 ms 376 KB Output is correct
7 Correct 8 ms 376 KB Output is correct
8 Correct 113 ms 504 KB Output is correct
9 Correct 135 ms 504 KB Output is correct
10 Correct 93 ms 440 KB Output is correct
11 Correct 78 ms 376 KB Output is correct
12 Execution timed out 2056 ms 504 KB Time limit exceeded
13 Halted 0 ms 0 KB -