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>
using namespace std;
#define maxn 100005
int n,m,mx;
int a[maxn], vis[250005];
map<int,int> s;
int valid(int N, int p[]) {
int i, x = 0, val;
n = N;
//Build
for(i=0;i<n;i++) if(p[i]<=n) x = i;
val = p[x];
for(i=0;i<n;i++) a[x] = val, x = (x+1)%n, val = val%n+1;
//Check
for(i=0;i<n;i++) if(p[i]<=n && a[i]!=p[i]) return 0;
//Rep
memset(vis,0,sizeof(vis));
for(i=0;i<n;i++) {
if(vis[p[i]]) return 0;
vis[p[i]] = 1;
}
return 1;
}
int replacement(int N, int p[], int res[]) {
int i, x=-1, val;
n = N;
//Build
for(i=0;i<n;i++) if(p[i]<=n) x = i;
if(x==-1) val = 1, x = 0;
else val = p[x];
for(i=0;i<n;i++) a[x] = val, x = (x+1)%n, val = val%n+1;
//Check
for(i=0;i<n;i++) {
mx = max(mx,p[i]);
if(p[i]>n) s[p[i]] = i;
}
m = 0;
for(i=n+1;i<=mx;i++) {
if(s.find(i)!=s.end()) res[m++] = a[s[i]], a[s[i]] = i, s.erase(s.find(i));
else if(s.size()>0) res[m++] = a[s.begin()->second], a[s.begin()->second] = i;
else return 0;
}
return m;
}
int countReplacement(int N, int data[]) {
}
Compilation message (stderr)
gondola.cpp: In function 'int countReplacement(int, int*)':
gondola.cpp:51:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
# | 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... |