제출 #1197896

#제출 시각아이디문제언어결과실행 시간메모리
1197896illzenoFountain (eJOI20_fountain)C++20
30 / 100
1596 ms20608 KiB
#include <bits/stdc++.h> using namespace std; void solve(){ long long n,m; cin >> n >> m; vector<long long>d(n+1),c(n+1); vector<vector<long long>>a(30); for(int i = 1;i<=n;i++){ cin >> d[i] >> c[i]; for(int j = 30;j>=0;j--){ if(d[i]>(1<<j)){ a[j].push_back(i); } } } for(int i = 1;i<=m;i++){ long long x,y; cin >> x >> y; long long k = 0; y-=c[x]; while(y>0){ for(int j = 30;j>=0;j--){ if(d[x]>=(1<<j)){ k = j; break; } } long long c1 =0; for(auto to:a[k]){ if(to>x && d[to]>d[x]){ x = to; c1 = 1; break; } } if(c1 == 0){ x = 0; break; } y-=c[x]; } cout << x << '\n'; } } int main(){ long long ht = 1; //cin >> ht; while(ht--)solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...