# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
300430 | 2020-09-17T07:11:51 Z | daniel920712 | 식물 비교 (IOI20_plants) | C++14 | 8 ms | 9760 KB |
#include "plants.h" #include <stdio.h> #include <vector> #include <utility> using namespace std; vector < pair < int , int > > con[200005]; vector < int > all; vector < int > Next[200005]; int N,tt=0; bool use[2000005]; void init(int k,vector<int> r) { int a=0,b=0,i,j,ok=0; all=r; N=r.size(); if(k==1) tt=1; for(i=0;i<N;i++) { if(k==1) { if(r[(i+N-1)%N]!=r[i]) { b=0; a++; con[i].push_back(make_pair(a,0)); for(j=(i+1)%N;r[(j+N-1)%N]==r[i];j=(j+1)%N) { if(j==N-1) ok=1; if(r[i]==0) b--; else b++; con[j].push_back(make_pair(a,b)); } } } if(r[i]>r[(i+1)%N]) Next[i].push_back((i+1)%N); if(r[i]<r[(i+1)%N]) Next[(i+1)%N].push_back(i); } return; } bool F(int a,int b) { if(a==b) return 1; if(use[a]) return 0; use[a]=1; for(auto i:Next[a]) if(F(i,b)) return 1; return 0; } int compare_plants(int x, int y) { int i; if(tt) { for(auto i:con[x]) { for(auto j:con[y]) { if(i.first==j.first) { if(i.second<j.second) return -1; return 1; } } } } else { for(i=0;i<N;i++) use[i]=0; if(F(x,y)) return -1; else if(F(y,x)) return 1; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9728 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9728 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9728 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9728 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9760 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 9728 KB | Output is correct |
2 | Correct | 7 ms | 9728 KB | Output is correct |
3 | Incorrect | 7 ms | 9728 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |