Submission #991826

# Submission time Handle Problem Language Result Execution time Memory
991826 2024-06-03T08:22:18 Z huutuan Gondola (IOI14_gondola) C++14
55 / 100
18 ms 4676 KB
#include "gondola.h"

#include <bits/stdc++.h>

using namespace std;

int valid(int n, int inputSeq[])
{
   set<int> st;
   for (int i=0; i<n; ++i) if (inputSeq[i]<=n && inputSeq[(i+1)%n]<=n){
      if (inputSeq[i]%n+1!=inputSeq[(i+1)%n]){
         return 0;
      }
   }
   for (int i=0; i<n; ++i) if (!st.insert(inputSeq[i]).second) return 0; 
   return 1;
}

//----------------------

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
   int max_id=max_element(gondolaSeq, gondolaSeq+n)-gondolaSeq;
   int max_val=gondolaSeq[max_id];
   vector<int> pos(3e5, -1);
   vector<int> perm(n);
   iota(perm.begin(), perm.end(), 1);
   for (int i=0; i<n; ++i) pos[gondolaSeq[i]]=i;
   for (int i=0; i<n; ++i) if (gondolaSeq[i]<=n){
      perm[i]=gondolaSeq[i];
      for (int j=(i+1)%n, k=perm[i]%n+1; j!=i; j=(j+1)%n, k=k%n+1) perm[j]=k;
      break; 
   }
   int cnt=0;
   for (int i=n+1; i<=max_val; ++i){
      if (pos[i]!=-1){
         replacementSeq[cnt++]=perm[pos[i]];
         perm[pos[i]]=i;
      }else{
         replacementSeq[cnt++]=perm[max_id];
         perm[max_id]=i;
      }
   }
   return cnt;
}

//----------------------

int countReplacement(int n, int inputSeq[])
{
   return -3;
}
# Verdict Execution time Memory 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 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 8 ms 2140 KB Output is correct
7 Correct 6 ms 604 KB Output is correct
8 Correct 14 ms 3908 KB Output is correct
9 Correct 5 ms 1372 KB Output is correct
10 Correct 18 ms 4676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 344 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 8 ms 2140 KB Output is correct
7 Correct 6 ms 600 KB Output is correct
8 Correct 13 ms 3828 KB Output is correct
9 Correct 5 ms 1372 KB Output is correct
10 Correct 18 ms 4444 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 344 KB Output is correct
13 Correct 3 ms 576 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 6 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1628 KB Output is correct
4 Correct 1 ms 1628 KB Output is correct
5 Correct 1 ms 1372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1624 KB Output is correct
2 Correct 1 ms 1628 KB Output is correct
3 Correct 1 ms 1628 KB Output is correct
4 Correct 1 ms 1372 KB Output is correct
5 Correct 1 ms 1628 KB Output is correct
6 Correct 1 ms 1628 KB Output is correct
7 Correct 1 ms 1628 KB Output is correct
8 Correct 1 ms 1628 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 1 ms 1628 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1628 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1628 KB Output is correct
5 Correct 1 ms 1628 KB Output is correct
6 Correct 1 ms 1628 KB Output is correct
7 Correct 1 ms 1628 KB Output is correct
8 Correct 1 ms 1628 KB Output is correct
9 Correct 1 ms 1628 KB Output is correct
10 Correct 1 ms 1628 KB Output is correct
11 Correct 7 ms 2616 KB Output is correct
12 Correct 8 ms 3160 KB Output is correct
13 Correct 9 ms 2140 KB Output is correct
14 Correct 6 ms 2652 KB Output is correct
15 Correct 11 ms 2408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -