QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#214978 | #5108. Prehistoric Programs | dereto | WA | 13ms | 4028kb | C++14 | 900b | 2023-10-15 01:54:06 | 2023-10-15 01:54:07 |
Judging History
answer
#include<iostream>
#include<string>
#include<vector>
#include<tuple>
#include<algorithm>
using namespace std;
int main(){
int n;
cin >> n;
string str;
vector<tuple<int, int, int>> arr(n, tuple<int, int, int>(0, 0, 0));
for(int i=0;i<n;i++){
cin >> str;
get<2>(arr[i]) = i + 1;
for(int j=0;j<str.length();j++){
if(str[j]=='('){
get<1>(arr[i]) += 1;
}else{
get<1>(arr[i]) -= 1;
}
get<0>(arr[i]) = std::min(get<0>(arr[i]), get<1>(arr[i]));
}
get<1>(arr[i]) -= get<0>(arr[i]);
}
sort(arr.begin(), arr.end(), greater<tuple<int, int, int>>());
int sum = 0;
int min = 0;
for(int i=0;i<n;i++){
min = std::min(min, sum + get<0>(arr[i]));
sum += get<1>(arr[i]) + get<0>(arr[i]);
}
if(sum != 0 || min < 0) {
cout << "impossible";
return 0;
}
for(int i=0;i<n;i++){
cout << get<2>(arr[i]) << '\n';
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 13ms
memory: 4028kb
input:
50000 ( ( ))))()))()(()))()()()))()(((((()(((()))()(((()))((()(())))))(()( ) ( ) ((( ( ( ( ( ( () ( ) ( )((())()(( )))))( ( ) )) )() ( ) ) )()( ( ( () ( ) ( )()((((())()))())( ( ( )( ( ( (()())()) ) ) ( ( ( )((())))((())))))))))((((()()))()))))))))((()())())) ) )() ) ) ) ) ) ())(())))))()(()((()(())...
output:
impossible
result:
wrong answer you didn't find a solution but jury did