답안 #1015334

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1015334 2024-07-06T08:46:48 Z amirhoseinfar1385 곤돌라 (IOI14_gondola) C++17
55 / 100
36 ms 5724 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];
    }
  }
  wh=wh-mn+1;
  while(wh<0){
    wh+=n;
  }
  wh%=n;
  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 1 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 356 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 600 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 1 ms 344 KB Output is correct
6 Correct 14 ms 2140 KB Output is correct
7 Correct 6 ms 600 KB Output is correct
8 Correct 17 ms 3932 KB Output is correct
9 Correct 5 ms 1372 KB Output is correct
10 Correct 24 ms 4416 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 352 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 2140 KB Output is correct
7 Correct 5 ms 696 KB Output is correct
8 Correct 17 ms 3928 KB Output is correct
9 Correct 9 ms 1592 KB Output is correct
10 Correct 29 ms 4436 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 19 ms 2096 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Correct 36 ms 4700 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 448 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 352 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 18 ms 5232 KB Output is correct
12 Correct 22 ms 5724 KB Output is correct
13 Correct 15 ms 2988 KB Output is correct
14 Correct 18 ms 4960 KB Output is correct
15 Correct 15 ms 3164 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 356 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 352 KB Integer -3 violates the range [0, 1000000008]
2 Halted 0 ms 0 KB -