Submission #465891

#TimeUsernameProblemLanguageResultExecution timeMemory
465891FulopMateFountain (eJOI20_fountain)C++14
30 / 100
1582 ms1976 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define all(c) (c).begin(), (c).end() #define MIN(a, b) ((a) = min((a), (b))) #define MAX(a, b) ((a) = max((a), (b))) const ll MOD = 1e9+7; const int abc = 'z'-'a'+1; int n, q; vector<int> d, c; vector<int> v; void solve(){ cin>>n>>q; d.resize(n); c.resize(n); for(int i = 0; i < n; i++){ cin>>d[i]>>c[i]; } v.resize(n); stack<int> s; for(int i = n-1; i >= 0; i--){ while(!s.empty() && d[s.top()] <= d[i])s.pop(); if(s.empty())v[i] = n; else v[i] = s.top(); s.push(i); } while(q--){ int a, b; cin>>a>>b; a--; b -= c[a]; while(b > 0 && a < n){ a = v[a]; b -= c[a]; } cout<<(a+1)%(n+1)<<endl; } cout<<endl; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int _t; _t = 1; while(_t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...