# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1015929 | 2024-07-07T05:44:36 Z | hotboy2703 | 커다란 상품 (IOI17_prize) | C++17 | 507 ms | 1048576 KB |
#include "prize.h" #include<bits/stdc++.h> using namespace std; using ll = long long; #define pll pair <ll,ll> #define fi first #define se second #define MP make_pair #define sz(a) (ll((a).size())) #define BIT(mask,i) (((mask) >> (i))&1) #define MASK(i) (1LL << (i)) const ll MAXN = 2e5+100; pll a[MAXN]; ll ans = -1; ll req = 0; void query(ll i){ if (a[i].fi==-1){ vector <int> tmp = ask(i); a[i] = MP(tmp[0],tmp[1]); if (a[i].fi+a[i].se==0)ans = i; } } void solve(ll l,ll r,ll k){ if (k==0)return; ll mid = (l + r) >> 1; ll id = -1; for (ll i = 0;i < k;i ++){ ll cur_mid = mid + ((i+1)/2) * (i%2?1:-1); query(cur_mid); if (a[cur_mid].fi+a[cur_mid].se==req){ id = i; break; } } if (id==-1)return; ll mid_l,mid_r; ll L,R; if (id%2){ mid_r = mid + ((id+1)/2); mid_l = mid - ((id-1)/2); R = k - a[mid_r].fi; L = k - R - id; } else{ mid_r = mid + (id/2); mid_l = mid - (id/2); L = a[mid_l].fi; R = k-L-id; } solve(l,mid_l-1,L); solve(mid_r+1,r,R); } int find_best(int n) { memset(a,-1,sizeof a); // req = 3; for (ll i = 0;i < min(500,n);i ++){ query(i); req = max(a[i].fi+a[i].se,req); } solve(0,n-1,req); return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 3416 KB | Output is correct |
2 | Correct | 4 ms | 3416 KB | Output is correct |
3 | Correct | 3 ms | 3416 KB | Output is correct |
4 | Correct | 3 ms | 3416 KB | Output is correct |
5 | Correct | 3 ms | 3500 KB | Output is correct |
6 | Correct | 3 ms | 3416 KB | Output is correct |
7 | Correct | 5 ms | 3416 KB | Output is correct |
8 | Correct | 3 ms | 3416 KB | Output is correct |
9 | Correct | 3 ms | 3416 KB | Output is correct |
10 | Correct | 4 ms | 3416 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 3416 KB | Output is correct |
2 | Correct | 3 ms | 3416 KB | Output is correct |
3 | Correct | 3 ms | 3416 KB | Output is correct |
4 | Correct | 2 ms | 3416 KB | Output is correct |
5 | Correct | 3 ms | 3416 KB | Output is correct |
6 | Correct | 3 ms | 3416 KB | Output is correct |
7 | Correct | 3 ms | 3508 KB | Output is correct |
8 | Correct | 3 ms | 3416 KB | Output is correct |
9 | Correct | 2 ms | 3416 KB | Output is correct |
10 | Correct | 3 ms | 3416 KB | Output is correct |
11 | Runtime error | 507 ms | 1048576 KB | Execution killed with signal 9 |
12 | Halted | 0 ms | 0 KB | - |