Submission #401295

#TimeUsernameProblemLanguageResultExecution timeMemory
401295victoriadGondola (IOI14_gondola)C++14
10 / 100
13 ms620 KiB
#include "gondola.h"
#include <cmath>
#include <cstdio>
#include <vector>
using namespace std;


int valid(int n, int inputSeq[])
{ int x,y,i,z,l;
vector<bool>t(n,false);
  for(i=0;i<n;i++){
  if(inputSeq[i]<=n){
    x=inputSeq[i]-i;
    y=inputSeq[i];
	  z=i;
    l=i+n-inputSeq[i];
	t[inputSeq[i]]=true;
    break;
  }
  }
  bool p=true;
  i++;
  for(;i<=l;i++){
    if(inputSeq[i]<=n){
	 if(inputSeq[i]-x!=i||t[inputSeq[i]]){
      p=false;
      break;
	 }
	if(!t[inputSeq[i]]){
		t[inputSeq[i]]=true;
	}
    }
  }
  if(p){
	  int o=0;
    for( i=l+1;i<n;i++){
		o++;
      if(inputSeq[i]<=n){
        if(inputSeq[i]!=o||t[o]){
        p=false;
        break;
        }
        else{
          t[o]=true;
        }
      }
      
    }
  }
  if(p)return 1;
  else return 0;
}


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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{ int x=0,y;
  for(int i=0;i<n;i++){
    if(gondolaSeq[i]<=n){
      x=gondolaSeq[i]-i;
      y=i+n-gondolaSeq[i];
    }
  }
  int l=0;
  for(int i=0;i<n;i++){
    if(gondolaSeq[i]>n){
      l++;
      if(i<=y){
        replacementSeq[gondolaSeq[i]-n-1]=i+x;
      }
      else{
        replacementSeq[gondolaSeq[i]-n-1]=i-y;
      }
    }
  }
  
  return l;
}
//----------------------

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

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:9:9: warning: variable 'y' set but not used [-Wunused-but-set-variable]
    9 | { int x,y,i,z,l;
      |         ^
gondola.cpp:9:13: warning: variable 'z' set but not used [-Wunused-but-set-variable]
    9 | { int x,y,i,z,l;
      |             ^
gondola.cpp:23:9: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
   23 |   for(;i<=l;i++){
      |        ~^~~
gondola.cpp:25:17: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
   25 |   if(inputSeq[i]-x!=i||t[inputSeq[i]]){
      |      ~~~~~~~~~~~^~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:58:11: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
   58 | { int x=0,y;
      |           ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...