Submission #160961

# Submission time Handle Problem Language Result Execution time Memory
160961 2019-10-30T20:07:34 Z InfiniteJest Gondola (IOI14_gondola) C++14
Compilation error
0 ms 0 KB
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#include <math.h>
#include "gondola.h"
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;

ifstream in("input.txt");
ofstream out("output.txt");

int valid(int n, int inputSeq[]){
  int ans=1;
  for(int i=0;i<n;i++){
    if(inputSeq[i]<=n){
      int val=inputSeq[i];
      for(int y=0;y<n;y++){
        if(inputSeq[i]<=n&&inputSeq[(i+y)%n]!=val){
          ans=0;
          break;
        }
        val++;
        if(val==n+1)val=1;
      }
      break;
    }
  }
  return ans;
}

int replacement(int n, int gondolaSeq[], int replacementSeq[]){
    bool flag=0;
    vector<pair<int,int> > p;
    int ind=-1,val;
    for(int i=0;i<n;i++){
      if(gondolaSeq[i]<=n){
        ind=i;
        val=gondolaSeq[i];
      }
      else flag=1;
    }
    if(!flag)return 0;
    if(ind==-1){
      ind=0;
      val=1;
    }
    for(int i=0;i<n;i++){
      if(gondolaSeq[(ind+i)%n]>n){
        p.pb(mp(gondolaSeq[(ind+i)],val));
      }
      val++;
    }
    sort(p.begin(),p.end());
    int cur=n+1;
    int indtot=0;
    for(int i=0;i<p.size();i++){
      replacementSeq[indtot++]=p[i].se;
      for(;cur<p[i].fi;cur++)replacementSeq[indtot++]=cur;
      cur+=2;
    }
  return indtot;
}

int countReplacement(int n, int inputSeq[]);

Compilation message

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:61:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<p.size();i++){
                 ~^~~~~~~~~
gondola.cpp:39:16: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
     int ind=-1,val;
                ^~~
/tmp/ccluIcKx.o: In function `main':
grader.cpp:(.text.startup+0xc3): undefined reference to `countReplacement'
collect2: error: ld returned 1 exit status