# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
469596 | 2021-09-01T12:05:42 Z | Soumya1 | Gondola (IOI14_gondola) | C++17 | 56 ms | 5068 KB |
#include "gondola.h" #include <bits/stdc++.h> using namespace std; const int mod = 1e9 + 7; int valid(int n, int a[]) { bool ok = true; map<int, bool> mp; for (int i = 0; i < n; i++) { ok &= (!mp[a[i]]); mp[a[i]] = true; } int pos = -1, val = -1; for (int i = 0; i < n; i++) { if (a[i] <= n) { val = a[i]; pos = i; break; } } val++; if (val > n) val = 1; for (int i = pos + 1; i < n; i++) { if (a[i] <= n) { ok &= (a[i] == val); } val++; if (val > n) val = 1; } for (int i = 0; i < pos; i++) { if (a[i] <= n) { ok &= (a[i] == val); } val++; if (val > n) val = 1; } return (int) ok; } int replacement(int n, int a[], int ans[]) { int pos = -1, val = -1; for (int i = 0; i < n; i++) { if (a[i] <= n) { pos = i; val = a[i]; break; } } vector<pair<int, int>> v; for (int i = 0; i < n; i++) { if (a[i] > n) v.push_back({a[i], i}); } if (pos != -1) { for (int i = pos; i < n; i++) { a[i] = val++; if (val > n) val = 1; } for (int i = 0; i < pos; i++) { a[i] = val++; if (val > n) val = 1; } } else { for (int i = 0; i < n; i++) a[i] = i + 1; } int ptr = 0; sort(v.begin(), v.end()); int cur = n + 1; for (int i = 0; i < v.size(); i++) { while (cur <= v[i].first) { ans[ptr++] = a[v[i].second]; a[v[i].second] = cur++; } } return ptr; } int bigmod(int a, int b) { a %= mod; int res = 1; while (b > 0) { if (b & 1) res = (1LL * res * a) % mod; a = (1LL * a * a) % mod, b >>= 1; } return res; } int countReplacement(int n, int a[]) { if (!valid(n, a)) return 0; int pos = -1, val = -1; for (int i = 0; i < n; i++) { if (a[i] <= n) { pos = i; val = a[i]; break; } } sort(a, a + n); int ans = 1; for (int i = 0; i < n; i++) { if (a[i] > n) { ans = (1LL * ans * bigmod(n - i, a[i] - max(a[i - 1], n) - 1)) % mod; } } if (pos == -1) { ans = (1LL * ans * n) % mod; } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 300 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 300 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 15 ms | 2352 KB | Output is correct |
7 | Correct | 41 ms | 4272 KB | Output is correct |
8 | Correct | 32 ms | 4244 KB | Output is correct |
9 | Correct | 12 ms | 1460 KB | Output is correct |
10 | Correct | 36 ms | 4932 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 300 KB | Output is correct |
2 | Correct | 1 ms | 300 KB | Output is correct |
3 | Correct | 1 ms | 300 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 15 ms | 2380 KB | Output is correct |
7 | Correct | 38 ms | 4140 KB | Output is correct |
8 | Correct | 41 ms | 4252 KB | Output is correct |
9 | Correct | 10 ms | 1484 KB | Output is correct |
10 | Correct | 34 ms | 5000 KB | Output is correct |
11 | Correct | 1 ms | 204 KB | Output is correct |
12 | Correct | 1 ms | 204 KB | Output is correct |
13 | Correct | 19 ms | 2220 KB | Output is correct |
14 | Correct | 1 ms | 204 KB | Output is correct |
15 | Correct | 56 ms | 5068 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 1 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 0 ms | 204 KB | Output is correct |
7 | Correct | 1 ms | 204 KB | Output is correct |
8 | Correct | 1 ms | 332 KB | Output is correct |
9 | Correct | 1 ms | 292 KB | Output is correct |
10 | Correct | 1 ms | 332 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Correct | 1 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Correct | 1 ms | 204 KB | Output is correct |
8 | Correct | 1 ms | 332 KB | Output is correct |
9 | Correct | 1 ms | 332 KB | Output is correct |
10 | Correct | 1 ms | 332 KB | Output is correct |
11 | Correct | 10 ms | 1044 KB | Output is correct |
12 | Correct | 11 ms | 1104 KB | Output is correct |
13 | Correct | 16 ms | 1428 KB | Output is correct |
14 | Correct | 9 ms | 948 KB | Output is correct |
15 | Correct | 23 ms | 2344 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 1 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Incorrect | 1 ms | 204 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 296 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Incorrect | 0 ms | 204 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 204 KB | Output is correct |
4 | Correct | 0 ms | 204 KB | Output is correct |
5 | Correct | 1 ms | 204 KB | Output is correct |
6 | Correct | 1 ms | 204 KB | Output is correct |
7 | Incorrect | 1 ms | 204 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |