This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "gondola.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
int valid(int n, int a[]){
vector<int> A, S;
for(int i = 0; i < n; i++) A.pb(a[i]);
sort(A.begin(), A.end());
for(int i = 0; i + 1 < n; i++) if(A[i] == A[i + 1]) return 0;
for(int i = 0; i < n; i++) if(a[i] <= n) S.pb((i - a[i] + n) % n);
sort(S.begin(), S.end());
for(int i = 0; i + 1 < (int) S.size(); i++) if(S[i] != S[i + 1]) return 0;
return 1;
}
//----------------------
const int MX = 250010;
int replacement(int n, int a[], int ans[]){
int L = (*max_element(a, a + n)) - n;
vector<int> mk(MX, 0);
for(int i = 0; i < n; i++)
mk[a[i]] = 1;
int idx = 0;
return L;
}
//----------------------
const int Mod = 1e9 + 9;
int countReplacement(int n, int a[]){
if(!valid(n, a)) return 0;
vector<int> A, S;
for(int i = 0; i < n; i++) A.pb(a[i]);
sort(A.begin(), A.end());
int mx = A.back();
int res = 1;
for(int i = n + 1; i < mx; i++){
int idx = lower_bound(A.begin(), A.end(), i) - A.begin();
if(A[idx] == i) continue;
res = (1ll * res * (n - idx)) % Mod;
}
return res;
}
Compilation message (stderr)
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:27:6: warning: unused variable 'idx' [-Wunused-variable]
27 | int idx = 0;
| ^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |