QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#438553 | #4400. Homework | SmilingBraniac# | 0 | 219ms | 377808kb | C++14 | 1.5kb | 2024-06-10 19:20:27 | 2024-06-10 19:20:28 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using R = vector<int>;
R mn(R r1, R r2) {
int a = r1[0], b = r1[1], s1 = r1[2], c = r2[0], d = r2[1], s2 = r2[2];
return {min(a, c), b + d - 1, s1 + s2};
}
R mx(R r1, R r2) {
int a = r1[0], b = r1[1], s1 = r1[2], c = r2[0], d = r2[1], s2 = r2[2];
R r = mn({s1 + 1 - b, s1 + 1 - a, s1}, {s2 + 1 - d, s2 + 1 - c, s2});
r[0] = s1 + s2 + 1 - r[0];
r[1] = s1 + s2 + 1 - r[1];
return r;
}
R f(string& s, vector<vector<int>>& sum, int x, int y, int cnt) {
if (x == y) return {1, 1, 1};
int type = 0;
if (s[x + 1] == 'a') type++;
auto it = upper_bound(sum[cnt].begin(), sum[cnt].end(), x);
if (it == sum[cnt].end() || *it >= y) {
if (type) return {2, 2, 2};
else return {1, 1, 2};
}
else if (*it + 1 == y) {
if (type) return mx({1, 1, 1}, f(s, sum, x + 6, y - 1, cnt + 1));
else return mn({1, 1, 1}, f(s, sum, x + 6, y - 1, cnt + 1));
}
else {
if (type) return mx(f(s, sum, x + 4, *it, cnt + 1), f(s, sum, *it + 2, y - 1, cnt + 1));
else return mn(f(s, sum, x + 4, *it, cnt + 1), f(s, sum, *it + 2, y - 1, cnt + 1));
}
}
int main() {
string s; cin >> s;
int n = s.size();
vector<vector<int>> sum(n);///
int cnt = 0;
for (int i = 0; i < n; ++i) {
if (s[i] == '(') cnt++;
if (s[i] == ')') sum[--cnt].push_back(i);
}
R r = f(s, sum, 0, n - 1, 1);
cout << r[1] - r[0] + 1;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 10
Accepted
time: 0ms
memory: 3468kb
input:
min(max(?,max(min(?,min(?,?)),?)),min(max(?,?),max(?,?)))
output:
6
result:
ok single line: '6'
Test #2:
score: -10
Wrong Answer
time: 0ms
memory: 3580kb
input:
max(max(?,min(max(?,min(?,?)),?)),max(max(?,?),max(?,?)))
output:
1
result:
wrong answer 1st lines differ - expected: '4', found: '1'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Wrong Answer
Test #57:
score: 13
Accepted
time: 196ms
memory: 377196kb
input:
min(?,min(?,min(min(min(min(?,min(min(?,min(?,min(?,min(min(?,min(?,min(min(?,min(min(?,min(?,min(?,min(min(?,min(min(?,min(min(?,min(?,min(?,min(min(?,min(min(?,min(min(min(min(?,min(min(min(min(min(?,min(min(?,min(min(?,min(?,min(?,min(?,min(min(?,min(?,min(?,min(?,min(min(?,min(?,min(?,min(min(mi...
output:
1
result:
ok single line: '1'
Test #58:
score: 0
Accepted
time: 215ms
memory: 377412kb
input:
max(max(max(max(max(max(max(?,max(max(max(?,max(?,max(max(max(max(max(?,max(?,max(max(?,max(max(?,max(?,max(max(max(max(max(max(max(max(max(max(?,max(?,max(?,max(?,max(max(?,max(max(max(?,max(?,max(?,max(max(max(max(max(max(max(max(?,max(?,max(max(max(?,max(?,max(?,max(?,max(?,max(?,max(max(max(?,ma...
output:
1
result:
ok single line: '1'
Test #59:
score: -13
Wrong Answer
time: 219ms
memory: 377808kb
input:
max(?,max(min(max(max(max(max(max(min(?,min(?,min(?,max(?,max(?,min(max(max(?,max(max(max(?,max(?,max(min(max(?,min(max(max(?,max(max(?,max(?,max(min(?,max(min(?,min(?,max(?,min(min(?,max(max(min(?,min(max(max(min(min(?,min(?,max(?,min(?,min(min(max(min(?,min(min(?,max(?,min(?,max(?,max(?,min(min(ma...
output:
1
result:
wrong answer 1st lines differ - expected: '999998', found: '1'
Subtask #4:
score: 0
Skipped
Dependency #2:
0%
Subtask #5:
score: 0
Skipped
Dependency #1:
0%