답안 #576422

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
576422 2022-06-13T05:52:16 Z emad234 Fountain (eJOI20_fountain) C++17
30 / 100
66 ms 2116 KB
#include <bits/stdc++.h>
#define all(v) ((v).begin(),(v).end())
typedef long long ll;
using namespace std;
const int mod = 1e9 + 7;
const int mxN = 2e6 + 1;
pair<int,int> a[mxN];
int prfx[mxN];
int main()
{
  ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  int n,q;
  cin >>n>>q;
  for(int i = 1;i <= n;i++){
    cin >>a[i].first>>a[i].second;
  }
  a[n + 1].first = INT_MAX;a[n + 1].second = INT_MAX;
  for(int i = 1;i <= n + 1;i++){
    prfx[i] = prfx[i - 1] + a[i].second;
  }
  while(q--){
    int r,v;
    cin >>r>>v;
    // if(n <= 1000 && q <= 2000){
    //   int prev = a[r].first - 1;
    //   for(int i = r;i <= n + 1;i++){
    //     if(a[i].first > prev){
    //       prev = a[i].first;
    //       v -= a[i].second;
    //     }
    //     if(v <= 0){
    //       if(i == n + 1)
    //         cout<<0<<'\n';
    //       else
    //         cout <<i<<'\n';
    //       break;
    //     }
    //   }
    // }else{
      int x = lower_bound(prfx,prfx + n + 1,v + prfx[r - 1]) - prfx;
      if(x == n + 1)
        cout<<0<<'\n';
      else
        cout<<x<<'\n';
  }
}































//                                                                  nice
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 60 ms 2108 KB Output is correct
2 Correct 66 ms 2116 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -