# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
818175 | 2023-08-10T03:14:29 Z | andecaandeci | 곤돌라 (IOI14_gondola) | C++17 | 15 ms | 2292 KB |
#include <bits/stdc++.h> #include "gondola.h" using namespace std; bool vis[250005]; int valid(int n, int inputSeq[]) { bool drop = 0; int cur = -1; for (int i = 0; i < n; i++) { if (cur != -1) cur = (cur%n)+1; if (vis[inputSeq[i]]) return 0; vis[inputSeq[i]] = 1; if (inputSeq[i] > n) continue; // if (last > inputSeq[i] and drop) return 0; // if (last > inputSeq[i]) drop = 1; // last = inputSeq[i]; // cout << cur << endl; if (cur == -1) cur = inputSeq[i]; else if (cur != inputSeq[i]) return 0; } return 1; } //---------------------- vector<pair<int, int>> dif; int replacement(int n, int gondolaSeq[], int replacementSeq[]) { // int mx = 0; // for (int i = 0; i < n; i++) { // mx = max(mx, gondolaSeq[i]); // vis[gondolaSeq[i]] = 1; // } // int counter = 0; // for (int i = 1; i <= mx; i++) { // if (vis[i]) continue; // replacementSeq[counter] = i; // counter++; // } // mx -= n; // return mx; int landasan = -1; int idx_landasan = -1; for (int i = 0; i < n; i++) { if (gondolaSeq[i] <= n) { landasan = gondolaSeq[i]; idx_landasan = i; break; } } if (landasan == -1 and idx_landasan == -1) { landasan = 1; idx_landasan = 0; } // cout << "landasan : " << idx_landasan << " " << landasan << endl; int curi, curdasar = landasan-1; for (int i = idx_landasan; i < n+idx_landasan; i++) { curi = (i%n); curdasar = (curdasar%n)+1; if (gondolaSeq[curi] <= n) continue; dif.push_back({gondolaSeq[curi], curdasar}); // cout << curi << " " << curdasar << " " << endl; } sort(dif.begin(), dif.end()); // cout << "------" << endl; // for (auto i: dif) { // cout << i.first << " " << i.second << endl; // } int cur = n+1, idx = 0, counter = 0; for (int i = 0; i < dif.size(); i++) { while (dif[i].second != dif[i].first) { replacementSeq[idx] = dif[i].second; dif[i].second = cur; cur++; idx++; counter++; // cout << dif[i].first << " " << dif[i].second << endl; } } for (auto i: dif) { while (i.second != i.first) { replacementSeq[idx] = i.second; i.second = cur; cur++; idx++; counter++; } } // cout << endl; return counter; } //---------------------- int countReplacement(int n, int inputSeq[]) { return -3; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 1 ms | 212 KB | Output is correct |
4 | Correct | 1 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 3 ms | 468 KB | Output is correct |
7 | Correct | 6 ms | 572 KB | Output is correct |
8 | Correct | 5 ms | 596 KB | Output is correct |
9 | Correct | 2 ms | 340 KB | Output is correct |
10 | Correct | 6 ms | 596 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 1 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 3 ms | 468 KB | Output is correct |
7 | Correct | 6 ms | 596 KB | Output is correct |
8 | Correct | 7 ms | 532 KB | Output is correct |
9 | Correct | 2 ms | 340 KB | Output is correct |
10 | Correct | 8 ms | 596 KB | Output is correct |
11 | Correct | 0 ms | 212 KB | Output is correct |
12 | Correct | 0 ms | 212 KB | Output is correct |
13 | Correct | 3 ms | 468 KB | Output is correct |
14 | Correct | 0 ms | 212 KB | Output is correct |
15 | Correct | 6 ms | 540 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 1 ms | 212 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 1 ms | 340 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 1 ms | 340 KB | Output is correct |
9 | Correct | 1 ms | 340 KB | Output is correct |
10 | Correct | 1 ms | 340 KB | Output is correct |
11 | Correct | 6 ms | 596 KB | Output is correct |
12 | Correct | 7 ms | 596 KB | Output is correct |
13 | Correct | 10 ms | 1460 KB | Output is correct |
14 | Correct | 7 ms | 596 KB | Output is correct |
15 | Correct | 15 ms | 2292 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Integer -3 violates the range [0, 1000000008] |
2 | Halted | 0 ms | 0 KB | - |