# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
758439 | 2023-06-14T15:50:14 Z | Andrey | 커다란 상품 (IOI17_prize) | C++14 | 6 ms | 296 KB |
#include "prize.h" #include<bits/stdc++.h> using namespace std; int find_best(int n) { int y = 0,l,r,m,x,big = 0,z; for(int i = 0; i*i < n; i++) { vector<int> a = ask(i); if(a[0] == 0 && a[1] == 0) { return i; } if(a[0]+a[1]) { big = a[0]+a[1]; y = i+1; } } while(y < n) { l = y; r = n-1; vector<int> a = ask(y); x = a[0]; z = a[1]; if(x+z != big) { if(a[0] == 0 && a[1] == 0) { return y; } y++; continue; } while(l < r) { m = (l+r+1)/2; a = ask(m); if(a[0] == x && a[1] == z) { l = m; } else { r = m-1; } } a = ask(l+1); if(a[0] == l+1 && a[1] == 0) { return l+1; } y = l+2; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 292 KB | Integer 200000 violates the range [0, 199999] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 296 KB | Integer 200000 violates the range [0, 199999] |
2 | Halted | 0 ms | 0 KB | - |