# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
764011 | 2023-06-23T05:27:47 Z | vjudge1 | Fountain (eJOI20_fountain) | C++14 | 0 ms | 0 KB |
//#pragma GCC optimize("O3,unroll-loops") //#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include<bits/stdc++.h> #define ll long long #define F first #define S second #define pb push_back #define pf push_front #define ppb pop_back #define forik(x) ll i = 1; i <= x; i++ const int mod = 1e9 + 7; using namespace std; ll n, q, d[100001], c[100001], idx, r, a, b, c; ll gcd (ll a, ll b){ while (a > 0 && b > 0){ if (a >= b){ a %= b; } else{ b %= a; } } return a + b; } ll binpow(ll a, ll b){ a %= mod; if(b == 0){ return 1; } if(b % 2 == 1){ return binpow (a, b - 1) % mod * a; } if(b % 2 == 0){ ll t = binpow(a, b / 2) % mod; return t * t % mod; } } signed main (){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> q; for (int i = 1; i <= n; i++){ cin >> d[i] >> c[i]; } while (q--){ cin >> idx >> r; a = d[idx]; b = 0; for (int i = idx; i <= n; i++){ if (d[i] >= a){ r -= c[i]; a = d[i]; } if (r <= 0){ b = i; break; } } cout << b << '\n'; } }