답안 #1015324

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1015324 2024-07-06T08:44:16 Z amirhoseinfar1385 곤돌라 (IOI14_gondola) C++17
20 / 100
30 ms 4820 KB
#include "gondola.h"
#include<bits/stdc++.h>
using namespace std;
int inf=1e9+5;

int fas(int u,int v,int n){
  //cout<<u<<" "<<v<<" "<<(u-v+n+n)%n<<endl;
  return (u-v+n+n)%n;
}

int valid(int n, int inputSeq[])
{
  set<int>st;
  int wh=-1,mn=inf;
  for(int i=0;i<n;i++){
    if(inputSeq[i]<mn){
      wh=i;
      mn=inputSeq[i];
    }
    if(st.count(inputSeq[i])==1){
      return 0;
    }
    st.insert(inputSeq[i]);
  }
  int last=mn,lastwh=wh;
  for(int i=0;i<n;i++){
    if(inputSeq[(i+wh)%n]<=n){
      if(inputSeq[(i+wh)%n]!=(mn+i)){
        return 0;
      }
      lastwh=(i+wh)%n;
      last=inputSeq[(i+wh)%n];
    }
  }
  return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
  set<pair<int,int>>st;
  int wh=-1,mn=inf;
  for(int i=0;i<n;i++){
    if(gondolaSeq[i]<mn){
      wh=i;
      mn=gondolaSeq[i];
    }
  }
  for(int i=0;i<n;i++){
    st.insert(make_pair(gondolaSeq[(wh+i)%n],i+1));
  }
  int now=n+1;
  vector<int>all(n+1);
  for(int i=1;i<=n;i++){
    all[i]=i;
  }
  while((int)st.size()>0){
    auto x=(*st.begin());
    st.erase(x);
    while(now<=x.first){
      replacementSeq[now-(n+1)]=all[x.second];
      all[x.second]=now;
      now++;   
    }
  }
  return (now-(n+1));
}

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

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

Compilation message

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:25:7: warning: variable 'last' set but not used [-Wunused-but-set-variable]
   25 |   int last=mn,lastwh=wh;
      |       ^~~~
gondola.cpp:25:15: warning: variable 'lastwh' set but not used [-Wunused-but-set-variable]
   25 |   int last=mn,lastwh=wh;
      |               ^~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 416 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 14 ms 2220 KB Output is correct
7 Correct 5 ms 604 KB Output is correct
8 Correct 17 ms 4048 KB Output is correct
9 Correct 8 ms 1372 KB Output is correct
10 Correct 25 ms 4648 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 9 ms 2352 KB Output is correct
7 Correct 5 ms 604 KB Output is correct
8 Correct 17 ms 3992 KB Output is correct
9 Correct 5 ms 1524 KB Output is correct
10 Correct 23 ms 4676 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 344 KB Output is correct
13 Correct 11 ms 2068 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 30 ms 4820 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -