#include "gondola.h"
#include <bits/stdc++.h>
#define st first
#define nd second
#define mp make_pair
#define pb push_back
#define sol (k+k)
#define sag (k+k+1)
#define orta ((bas+son)/2)
#define coc g[node][i]
#define mod 1000000007
#define inf 1000000009
#define N 1000005
using namespace std;
typedef long long ll;
typedef pair < int , int > ii;
int n, mx, a[N], u[N];
int valid(int n, int a[]){
int x = inf;
for(int i = 0; i < n; i++){
a[i]--;
if(u[a[i]])return 0;
u[a[i]] = 1;
if(a[i] < n and a[i] >= 0){
if(x != inf and x != (a[i] - i + n)%n )
return 0;
x = (a[i] - i + n)%n;
}
}
return 1;
}
int replacement(int n, int a[], int b[]){
int m = -1, x = 0;
priority_queue < ii > q;
priority_queue < int > yok;
for(int i = 0; i < n; i++){
a[i]--;
u[a[i]] = 1;
mx = max(mx, a[i]);
if(a[i] < n and a[i] >= 0)
x = (a[i] - i + n)%n;
else
q.push(mp(a[i], i));
}
for(int i = n; i <= mx; i++)
if(!u[i])
yok.push(i);
while(!q.empty()){
int y = q.top().st;
int ind = q.top().nd;
q.pop();
if(yok.empty())
b[++m] = (x + ind)%n + 1;
else{
b[++m] = yok.top() + 1;
q.push(mp(yok.top(), ind));
yok.pop();
}
}
reverse(b, b + m);
return m + 1;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return -3;
}
// int gondolaSequence[100001];
// int replacementSequence[250001];
// int main()
// {
// freopen("in.txt", "r", stdin);
// freopen("outt.txt", "w", stdout);
// int i, n, tag;
// int nr;
// assert(scanf("%d", &tag)==1);
// assert(scanf("%d", &n)==1);
// for(i=0;i< n;i++)
// assert( scanf("%d", &gondolaSequence[i]) ==1);
// switch (tag){
// case 1: case 2: case 3:
// printf("%d\n", valid(n, gondolaSequence));
// break;
// case 4: case 5: case 6:
// nr = replacement(n, gondolaSequence, replacementSequence);
// printf("%d ", nr);
// if (nr > 0)
// {
// for (i=0; i<nr-1; i++)
// printf("%d ", replacementSequence[i]);
// printf("%d\n", replacementSequence[nr-1]);
// }
// else printf("\n");
// break;
// case 7: case 8: case 9: case 10:
// printf("%d\n", countReplacement(n, gondolaSequence));
// break;
// }
// return 0;
// }
Compilation message
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:54:7: warning: unused variable 'y' [-Wunused-variable]
int y = q.top().st;
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
256 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
7 ms |
760 KB |
Output is correct |
7 |
Correct |
14 ms |
760 KB |
Output is correct |
8 |
Correct |
11 ms |
1016 KB |
Output is correct |
9 |
Correct |
5 ms |
632 KB |
Output is correct |
10 |
Correct |
13 ms |
1144 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
256 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
252 KB |
Output is correct |
4 |
Correct |
2 ms |
312 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Correct |
7 ms |
760 KB |
Output is correct |
7 |
Correct |
14 ms |
760 KB |
Output is correct |
8 |
Correct |
12 ms |
1016 KB |
Output is correct |
9 |
Correct |
5 ms |
632 KB |
Output is correct |
10 |
Correct |
13 ms |
1144 KB |
Output is correct |
11 |
Correct |
2 ms |
376 KB |
Output is correct |
12 |
Correct |
2 ms |
376 KB |
Output is correct |
13 |
Correct |
8 ms |
888 KB |
Output is correct |
14 |
Correct |
2 ms |
376 KB |
Output is correct |
15 |
Correct |
15 ms |
760 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
380 KB |
Output is correct |
2 |
Correct |
2 ms |
364 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Incorrect |
2 ms |
376 KB |
Integer 6 violates the range [1, 5] |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
504 KB |
Output is correct |
3 |
Correct |
2 ms |
376 KB |
Output is correct |
4 |
Correct |
2 ms |
376 KB |
Output is correct |
5 |
Correct |
2 ms |
376 KB |
Output is correct |
6 |
Incorrect |
2 ms |
376 KB |
Integer 6 violates the range [1, 5] |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
Integer -3 violates the range [0, 1000000008] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
Integer -3 violates the range [0, 1000000008] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
Integer -3 violates the range [0, 1000000008] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
Integer -3 violates the range [0, 1000000008] |
2 |
Halted |
0 ms |
0 KB |
- |