Submission #235785

# Submission time Handle Problem Language Result Execution time Memory
235785 2020-05-29T21:10:51 Z DanerZein Gondola (IOI14_gondola) C++14
25 / 100
33 ms 4600 KB
#include "gondola.h"
#include <bits/stdc++.h>
#define MAX 100000000
using namespace std;

int valid(int n, int inputSeq[])
{
  set<int>s;
  int x=inputSeq[0];
  s.insert(inputSeq[0]);
  for(int i=1;i<n;i++){
    s.insert(inputSeq[i]);
    if(x==n){
      if(inputSeq[i]==1){
	x=1;
      }
      else return 0;
    }
    else{
      if(x==inputSeq[i]-1){
	x=inputSeq[i];
      }
      else return 0;
    }
  }
  if(s.size()!=n) return 0;
  return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
  vector<bool> nf(250010,false);
  vector<int> gn;
  int mi=MAX,id;
  for(int i=0;i<n;i++){
    if(mi>gondolaSeq[i]){
      mi=gondolaSeq[i];
      id=i;
    }
    //mi=min(mi,gondolaSeq[i]);
    if(gondolaSeq[i]>n){
      gn.push_back(gondolaSeq[i]);
    }
    else{
      nf[gondolaSeq[i]]=true;
    }
  }
  vector<int> go,gon(n,-1);
  if(mi>n){
    for(int i=0;i<n;i++){
      gon[i]=(i+1);
    }
  }
  else{
    int j=id;
    int aux=mi;
    while(true){
      if(j==gon.size()) j=0;
      if(gon[j]!=-1) break;
      gon[j]=aux;
      if(aux==n){
	aux=0;
      }
      aux++;
      j++;
    }
  }
  for(int i=0;i<gon.size();i++){
    //   cout<<gon[i]<<" ";
    if(nf[gon[i]]==false){
      go.push_back(gon[i]);
    }
  }
  // cout<<endl;
  int ga=n+1;
  int j=0;
  int t=0;
  sort(gn.begin(),gn.end());
  /* for(int i=0;i<gn.size();i++){
    cout<<gn[i]<<" ";
  }
  cout<<endl;
  for(int i=0;i<go.size();i++){
    cout<<go[i]<<" ";
  }
  cout<<endl;*/
  for(int i=0;i<go.size();i++){
    replacementSeq[j]=go[i];
    j++;
    t++;
    while(true){
      if(ga==gn[i]){
	ga++;
	break;
      }
      // ga++;
      replacementSeq[j]=ga;
      ga++;
      j++;
      t++;
    }
  }
  //cout<<t<<endl;
  return t;
}

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

int countReplacement(int n, int inputSeq[])
{
  return -3;
}

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:26:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(s.size()!=n) return 0;
      ~~~~~~~~^~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:60:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(j==gon.size()) j=0;
          ~^~~~~~~~~~~~
gondola.cpp:70:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<gon.size();i++){
               ~^~~~~~~~~~~
gondola.cpp:89:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<go.size();i++){
               ~^~~~~~~~~~
gondola.cpp:60:11: warning: 'id' may be used uninitialized in this function [-Wmaybe-uninitialized]
       if(j==gon.size()) j=0;
          ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 4 ms 128 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 17 ms 2304 KB Output is correct
7 Correct 17 ms 640 KB Output is correct
8 Correct 27 ms 3968 KB Output is correct
9 Correct 11 ms 1536 KB Output is correct
10 Correct 32 ms 4600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 16 ms 2304 KB Output is correct
7 Correct 17 ms 640 KB Output is correct
8 Correct 27 ms 3968 KB Output is correct
9 Correct 11 ms 1536 KB Output is correct
10 Correct 33 ms 4600 KB Output is correct
11 Correct 4 ms 256 KB Output is correct
12 Correct 4 ms 256 KB Output is correct
13 Correct 10 ms 512 KB Output is correct
14 Correct 4 ms 256 KB Output is correct
15 Correct 17 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 4 ms 384 KB Output is correct
5 Correct 5 ms 384 KB Output is correct
6 Correct 4 ms 384 KB Output is correct
7 Incorrect 5 ms 512 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 5 ms 384 KB Output is correct
5 Correct 4 ms 384 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Incorrect 5 ms 384 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 384 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 256 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -