Submission #70316

# Submission time Handle Problem Language Result Execution time Memory
70316 2018-08-22T15:09:29 Z alenam0161 Gondola (IOI14_gondola) C++17
55 / 100
31 ms 4232 KB
#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
int pos(int n,int rng[]){
    return min_element(rng,rng+n)-rng;
}
int ds(int p,int i,int n){
    return i<p ? n-p+i:i-p;
}
int valid(int n, int inputSeq[])
{
  int mn=pos(n,inputSeq);
  int mx=inputSeq[mn];
  int se=mn;
  if(distance(inputSeq,unique(inputSeq,inputSeq+n))!=n)return 0;
  for(int j=1;j<n;++j){
      mn++;
      if(mn==n)mn=0;
      if(inputSeq[mn]<=n&&inputSeq[mn]-inputSeq[se]!=ds(se,mn,n)){
          return 0;
      }
      if(inputSeq[mn]<=n)mx=max(mx,inputSeq[mn]);
  }
  return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{

  vector<pair<int,int>> vx;
  int p=pos(n,gondolaSeq);
  if(gondolaSeq[p]<=n){
    if(p-(gondolaSeq[p]-1)<0){
        p-=(gondolaSeq[p]-1);
        p=n+p;
    }
    else{
        p-=(gondolaSeq[p]-1);
    }
  }
  for(int i=0;i<n;++i){
        vx.push_back({gondolaSeq[i],ds(p,i,n)});
  }
  sort(vx.begin(),vx.end());
  int sz=0;
  for(auto to:vx){
    int x=to.first;
    int st=to.second+1;
    if(st!=x){
        replacementSeq[sz++]=st;
        while(true){
            n++;
            st=n;
            if(st<x)
            replacementSeq[sz++]=n;
            else break;
        }
    }
  //  cout<<x<< " "<<st<<endl;
  }
  return sz;
}

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

int countReplacement(int n, int inputSeq[])
{
    return 5;
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 248 KB Output is correct
2 Correct 2 ms 360 KB Output is correct
3 Correct 3 ms 432 KB Output is correct
4 Correct 2 ms 508 KB Output is correct
5 Correct 3 ms 508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 508 KB Output is correct
2 Correct 2 ms 636 KB Output is correct
3 Correct 2 ms 640 KB Output is correct
4 Correct 3 ms 640 KB Output is correct
5 Correct 3 ms 640 KB Output is correct
6 Correct 8 ms 716 KB Output is correct
7 Correct 18 ms 844 KB Output is correct
8 Correct 12 ms 844 KB Output is correct
9 Correct 6 ms 844 KB Output is correct
10 Correct 14 ms 876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 876 KB Output is correct
2 Correct 2 ms 876 KB Output is correct
3 Correct 3 ms 876 KB Output is correct
4 Correct 3 ms 876 KB Output is correct
5 Correct 2 ms 876 KB Output is correct
6 Correct 7 ms 876 KB Output is correct
7 Correct 13 ms 876 KB Output is correct
8 Correct 11 ms 876 KB Output is correct
9 Correct 6 ms 876 KB Output is correct
10 Correct 13 ms 876 KB Output is correct
11 Correct 2 ms 876 KB Output is correct
12 Correct 2 ms 876 KB Output is correct
13 Correct 8 ms 876 KB Output is correct
14 Correct 2 ms 876 KB Output is correct
15 Correct 15 ms 1004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1004 KB Output is correct
2 Correct 3 ms 1004 KB Output is correct
3 Correct 2 ms 1004 KB Output is correct
4 Correct 2 ms 1004 KB Output is correct
5 Correct 2 ms 1004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1004 KB Output is correct
2 Correct 2 ms 1004 KB Output is correct
3 Correct 2 ms 1004 KB Output is correct
4 Correct 2 ms 1004 KB Output is correct
5 Correct 2 ms 1004 KB Output is correct
6 Correct 2 ms 1004 KB Output is correct
7 Correct 2 ms 1004 KB Output is correct
8 Correct 3 ms 1004 KB Output is correct
9 Correct 3 ms 1004 KB Output is correct
10 Correct 4 ms 1004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1004 KB Output is correct
2 Correct 2 ms 1004 KB Output is correct
3 Correct 3 ms 1004 KB Output is correct
4 Correct 3 ms 1004 KB Output is correct
5 Correct 2 ms 1004 KB Output is correct
6 Correct 2 ms 1004 KB Output is correct
7 Correct 3 ms 1004 KB Output is correct
8 Correct 3 ms 1004 KB Output is correct
9 Correct 5 ms 1004 KB Output is correct
10 Correct 2 ms 1004 KB Output is correct
11 Correct 26 ms 2600 KB Output is correct
12 Correct 22 ms 3080 KB Output is correct
13 Correct 20 ms 3080 KB Output is correct
14 Correct 18 ms 3804 KB Output is correct
15 Correct 31 ms 4232 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 4232 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 4232 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 4232 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 4232 KB Output isn't correct
2 Halted 0 ms 0 KB -