QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#214856 | #5108. Prehistoric Programs | dereto | WA | 13ms | 3960kb | C++14 | 873b | 2023-10-15 00:35:22 | 2023-10-15 00:35:23 |
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;
}
if(get<1>(arr[i]) < get<0>(arr[i])){
get<0>(arr[i]) = get<1>(arr[i]);
}
}
}
sort(arr.begin(), arr.end(), greater<tuple<int, int, int>>());
int sum = 0;
for(int i=0;i<n;i++){
if(sum + get<0>(arr[i]) < 0){
cout << "impossible";
return 0;
}
sum += get<1>(arr[i]);
}
if(sum < 0) {
cout << "impossible";
return 0;
}
for(int i=0;i<n;i++){
cout << get<2>(arr[i]) << endl;
}
return 0;
}
详细
Test #1:
score: 0
Wrong Answer
time: 13ms
memory: 3960kb
input:
50000 ( ( ))))()))()(()))()()()))()(((((()(((()))()(((()))((()(())))))(()( ) ( ) ((( ( ( ( ( ( () ( ) ( )((())()(( )))))( ( ) )) )() ( ) ) )()( ( ( () ( ) ( )()((((())()))())( ( ( )( ( ( (()())()) ) ) ( ( ( )((())))((())))))))))((((()()))()))))))))((()())())) ) )() ) ) ) ) ) ())(())))))()(()((()(())...
output:
impossible
result:
wrong answer you didn't find a solution but jury did