답안 #633713

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
633713 2022-08-23T06:43:48 Z Ferid20072020 Fountain (eJOI20_fountain) C++17
30 / 100
82 ms 4888 KB
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")


#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>


using namespace __gnu_pbds;
using namespace std;
using namespace chrono;
//using namespace atcoder



#define YES             cout << "YES\n"
#define NO              cout << "NO\n"
#define vi              vector<int>
#define vl              vector<long long>
#define vs              vector<string>
#define vc              vector<char>
#define vd              vector<double>
#define vld             vector<long double>
#define ll              long long
#define ull             unsigned long long
#define ui              unsigned int
#define ld              long double
#define f               first
#define s               second
#define pii             pair<int , int>
#define pll             pair<ll , ll>
#define pil             pair<int , ll>
#define pli             pair<ll , int>
#define psi             pair<string , int>
#define pci             pair<char , int>
#define pic             pair<int , char>
#define pis             pair<int , string>
#define psl             pair<string , ll>
#define pcl             pair<char , ll>
#define plc             pair<ll , char>
#define pls             pair<ll , string>
#define pb              push_back
#define eb              emplace_back
#define mp              make_pair
#define ins             insert
#define END             return 0
#define mod             1e9
#define speed           ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define all(x)          (x).begin() , (x).end()
#define oo              1e9
#define Size(x)         x.size()

/*
int gcd(int number1 , int number2){
   if(number2 == 0){
      return number1;
   }
   return gcd(number2 , number1 % number2);
}

int lcm(int number1 , int number2){
   return number1 / gcd(number1 , number2) * number2;
}

ll fact(int number){
   ll product = 1;
   for(int i=2 ; i<=number ; i++){
      product *= i;
   }
   return product;
}
*/


//#define int ll

void solve(){
   int n , m;
   cin >> n >> m;
   vector<int> cost(n+5);
   vector<int> sums(n+5);
   int x;
   cin >> x >> cost[1];
   sums[1] = cost[1];
   for(int i=2 ; i<=n ; i++){
      int x;
      cin >> x >> cost[i];
      sums[i] = sums[i-1] + cost[i];
   }
   while(m--){
      int N , C;
      cin >> N >> C;
      C = C + sums[N-1];
      int l = N , r = n , best = 0;
      while(l <= r){
         int mid = l + (r - l) / 2;
         if(sums[mid] >= C){
            best = mid;
            r = mid - 1;
         }
         else{
            l = mid + 1;
         }
      }
      cout << best << '\n';
   }
}

/*signed */ int main(){
   speed;

   int t = 1;
   //cin >> t;

   while(t--){
      solve();
   }

   END;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 82 ms 4636 KB Output is correct
2 Correct 75 ms 4888 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -