# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1004860 | 2024-06-21T20:44:10 Z | u_suck_o | 곤돌라 (IOI14_gondola) | C++17 | 12 ms | 2392 KB |
#include "bits/stdc++.h" #include "gondola.h" #define MOD 1000000009 using namespace std; int valid(int n, int inputSeq[]) { bool seen[250001]; memset(seen, 0, sizeof seen); bool found = false; int diff = -1; for (int i = 0; i < n; i++) { if (seen[inputSeq[i]]) return 0; seen[inputSeq[i]] = true; if (inputSeq[i] > n) continue; if (!found) { found = true; diff = (inputSeq[i] - i + n) % n; } else { if ((inputSeq[i] - i + n) % n != diff) return 0; } } return 1; } int replacement(int n, int gondolaSeq[], int replacementSeq[]) { int diff = 0; for (int i = 0; i < n; i++) { if (gondolaSeq[i] <= n) { diff = (gondolaSeq[i] - i + n) % n; break; } } vector<pair<int, int>> v; for (int i = 0; i < n; i++) { if (gondolaSeq[i] > n) { int x = (i+diff) % n; if (x == 0) x = n; v.push_back({gondolaSeq[i], x}); } } sort(v.begin(), v.end()); int last = n; //last assigned gondola # vector<int> rep; for (int i = 0; i < v.size(); i++) { rep.push_back(v[i].second); //v[i].second replaced with last+1 for (int j = last+1; j < v[i].first; j++) rep.push_back(j); //j replaced with j+1 last = v[i].first; } for (int i = 0; i < rep.size(); i++) replacementSeq[i] = rep[i]; return rep.size(); } //---------------------- long long modpow(long long b, long long e) { if (e == 0) return 1; if (e % 2 == 1) return (b * modpow(b, e-1)) % MOD; long long r = modpow(b, e/2); return (r * r) % MOD; } int countReplacement(int n, int inputSeq[]) { if (valid(n, inputSeq) == 0) return 0; bool fixed = false; for (int i = 0; i < n; i++) { if (inputSeq[i] <= n) { fixed = true; break; } } long long ans = 1; vector<long long> v; for (int i = 0; i < n; i++) { if (inputSeq[i] > n) v.push_back(inputSeq[i]); } sort(v.begin(), v.end()); long long last = n; for (int i = 0; i < v.size(); i++) { ans = (ans * modpow(v.size()-i, v[i] - last - 1)) % MOD; last = v[i]; } if (!fixed) return (n * ans) % MOD; return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 1 ms | 604 KB | Output is correct |
6 | Correct | 2 ms | 604 KB | Output is correct |
7 | Correct | 5 ms | 868 KB | Output is correct |
8 | Correct | 5 ms | 860 KB | Output is correct |
9 | Correct | 2 ms | 604 KB | Output is correct |
10 | Correct | 6 ms | 864 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 612 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 3 ms | 776 KB | Output is correct |
7 | Correct | 5 ms | 860 KB | Output is correct |
8 | Correct | 4 ms | 860 KB | Output is correct |
9 | Correct | 1 ms | 604 KB | Output is correct |
10 | Correct | 4 ms | 788 KB | Output is correct |
11 | Correct | 0 ms | 604 KB | Output is correct |
12 | Correct | 0 ms | 604 KB | Output is correct |
13 | Correct | 2 ms | 604 KB | Output is correct |
14 | Correct | 0 ms | 604 KB | Output is correct |
15 | Correct | 4 ms | 860 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 344 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 0 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 1 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 348 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 348 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 0 ms | 348 KB | Output is correct |
8 | Correct | 1 ms | 348 KB | Output is correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Correct | 0 ms | 348 KB | Output is correct |
11 | Correct | 4 ms | 600 KB | Output is correct |
12 | Correct | 5 ms | 604 KB | Output is correct |
13 | Correct | 12 ms | 1372 KB | Output is correct |
14 | Correct | 5 ms | 604 KB | Output is correct |
15 | Correct | 11 ms | 2360 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 600 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 0 ms | 604 KB | Output is correct |
7 | Correct | 0 ms | 604 KB | Output is correct |
8 | Correct | 0 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 600 KB | Output is correct |
2 | Correct | 1 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 0 ms | 604 KB | Output is correct |
7 | Correct | 0 ms | 600 KB | Output is correct |
8 | Correct | 0 ms | 604 KB | Output is correct |
9 | Correct | 8 ms | 1444 KB | Output is correct |
10 | Correct | 8 ms | 1496 KB | Output is correct |
11 | Correct | 3 ms | 1116 KB | Output is correct |
12 | Correct | 4 ms | 1116 KB | Output is correct |
13 | Correct | 1 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
5 | Correct | 0 ms | 604 KB | Output is correct |
6 | Correct | 1 ms | 604 KB | Output is correct |
7 | Correct | 0 ms | 600 KB | Output is correct |
8 | Correct | 0 ms | 604 KB | Output is correct |
9 | Correct | 11 ms | 1496 KB | Output is correct |
10 | Correct | 10 ms | 1496 KB | Output is correct |
11 | Correct | 3 ms | 1116 KB | Output is correct |
12 | Correct | 7 ms | 1116 KB | Output is correct |
13 | Correct | 1 ms | 604 KB | Output is correct |
14 | Runtime error | 10 ms | 2392 KB | Execution killed with signal 11 |
15 | Halted | 0 ms | 0 KB | - |