Submission #785061

# Submission time Handle Problem Language Result Execution time Memory
785061 2023-07-17T03:41:14 Z mindiyak Gondola (IOI14_gondola) C++14
25 / 100
8 ms 596 KB
#include "gondola.h"
#include <iostream>
#include <unordered_set>
#include <set>

using namespace std;

#define M 1e9+9

int alpha = 0;

int valid(int n, int inputSeq[])
{
  unordered_set <int> broken;
  alpha = 0;
  for(int i=0;i<n;i++){
    if(inputSeq[i] < n){
      alpha = inputSeq[i]-i;
      break;
    }
  }
  // cout << alpha << endl;
  for(int i=0;i<n;i++){
    if(inputSeq[i] > n){
      if(broken.count(inputSeq[i]) != 0){
        // cout << "broken duplicate" << endl;
        return 0;
      }
      broken.insert(inputSeq[i]);
    }else{
      if(i<=(n-alpha)){
        if(inputSeq[i] != (i+alpha)){
          // cout << i << " " << inputSeq[i] << " " << (i+alpha) << endl;
          return 0;
        }
      }else{
        if(inputSeq[i] != (i-(n-alpha))){
          // cout << i << " " << inputSeq[i] << " " << (i-(n-alpha)) << endl;
          return 0;
        }
      }
    }
  }
  return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{ 
  set<pair<int,int>> arr;
  int len = 0;
  alpha = 0;
  for(int i=0;i<n;i++){
    if(gondolaSeq[i] <= n){
      alpha = gondolaSeq[i]-i;
      break;
    }
  }
  // cout << alpha << endl;
  for(int i=0;i<n;i++){
    if(gondolaSeq[i] > n){
      if(i<=(n-alpha)){
        arr.insert({gondolaSeq[i],(i+alpha)});
      }else{
        arr.insert({gondolaSeq[i],(i-(n-alpha))});
      }
    } 
  }
  while(arr.size() > 0){
    pair<int,int> a = *arr.begin();
    // cout << a.first << " " << a.second << endl;
    replacementSeq[len] = a.second;
    len++;
    a.second = n+len;
    if(a.first == a.second){
      arr.erase(arr.begin());
    }
  }
  return len;
}

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

int countReplacement(int n, int inputSeq[])
{
  return -3;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 7 ms 596 KB Output is correct
8 Correct 5 ms 488 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 8 ms 524 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 3 ms 340 KB Output is correct
7 Correct 6 ms 596 KB Output is correct
8 Correct 5 ms 468 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 6 ms 596 KB Output is correct
11 Correct 0 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 3 ms 440 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 6 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 0 ms 312 KB Output is correct
5 Correct 1 ms 312 KB Output is correct
6 Incorrect 1 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Incorrect 1 ms 312 KB Output isn't correct
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -