# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
246201 | 2020-07-08T10:52:10 Z | Halit | Slagalica (COCI19_slagalica2) | C++17 | 901 ms | 10160 KB |
#include <bits/stdc++.h> using namespace std; bool s = 1; priority_queue<long long> heap[9]; vector<long long> ans; map<long long, long long> val; long long n,p,v,lst_3, lst_2; int main(){ cin >> n; for(int i = 1;i <= n;i++){ cin >> p >> v; heap[p].push(-v); val[v] = p; } if(heap[5].size() + heap[6].size() != 1 || heap[7].size() + heap[8].size() != 1) goto CANNOT; if(heap[5].size()){ s ^= 1;// -> ans.push_back(-heap[5].top()); } else{ ans.push_back(-heap[6].top()); } while(heap[1].size() + heap[4].size()){ if(s == 1){ if(heap[1].size() == 0) goto CANNOT; ans.push_back(-heap[1].top()); heap[1].pop(); } else{ if(heap[4].size() == 0) goto CANNOT; ans.push_back(-heap[4].top()); heap[4].pop(); } s ^= 1; } if((s == 0? heap[8].size() == 0 : heap[7].size() == 0) ) goto CANNOT; ans.push_back(-(heap[8].size() ? heap[8].top() : heap[7].top() ) ); for(int i = 0, changes = 0;i < ans.size() - 1;i++){ if(val[ans[i]] % 2 == 0 && heap[2].size() ){ ans.insert(ans.begin() + i + 1, -heap[2].top()); heap[2].pop(); changes++; } else if(val[ans[i]] % 2 == 1 && heap[3].size()){ ans.insert(ans.begin() + i + 1, -heap[3].top()); heap[3].pop(); changes++; } } for(int i = 0;i < ans.size();i++){ cout << ans[i] << " " ; } return 0; CANNOT: ; cout << -1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
2 | Correct | 5 ms | 256 KB | Output is correct |
3 | Correct | 5 ms | 256 KB | Output is correct |
4 | Correct | 5 ms | 384 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 194 ms | 8720 KB | Output is correct |
2 | Correct | 167 ms | 8680 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 173 ms | 8420 KB | Output is correct |
2 | Correct | 153 ms | 8308 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 153 ms | 7892 KB | Output is correct |
2 | Correct | 183 ms | 8992 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 120 ms | 6888 KB | Output is correct |
2 | Correct | 155 ms | 8276 KB | Output is correct |
3 | Correct | 206 ms | 10160 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 166 ms | 8732 KB | Output is correct |
2 | Correct | 157 ms | 7760 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 151 ms | 8428 KB | Output is correct |
2 | Correct | 137 ms | 7656 KB | Output is correct |
3 | Correct | 183 ms | 9732 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 136 ms | 7716 KB | Output is correct |
2 | Incorrect | 637 ms | 8936 KB | Output isn't correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 901 ms | 9960 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 613 ms | 8448 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 901 ms | 10048 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 635 ms | 8296 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 649 ms | 8560 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |