Submission #633484

# Submission time Handle Problem Language Result Execution time Memory
633484 2022-08-22T14:41:39 Z Ferid20072020 Fountain (eJOI20_fountain) C++17
30 / 100
1500 ms 1448 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<pii> Input(n+5);
   for(int i=1 ; i<=n ; i++){
      cin >> Input[i].f >> Input[i].s;
   }

   for(int i=1 ; i<=m ; i++){
      int r , v;
      cin >> r >> v;
      v -= Input[r].s;
      if(v > 0){
         for(int k=r+1 ; k<=n ; k++){
            if(Input[k].f > Input[r].f){
               r = k;
               v -= Input[k].s;
               if(v <= 0){
                  break;
               }
            }
         }
      }
      if(v > 0){
         cout << 0 << '\n';
      }
      else{
         cout << r << '\n';
      }
   }
}

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

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

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

   END;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 328 KB Output is correct
5 Correct 1 ms 428 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
7 Correct 1 ms 352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1578 ms 1448 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 328 KB Output is correct
5 Correct 1 ms 428 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
7 Correct 1 ms 352 KB Output is correct
8 Execution timed out 1578 ms 1448 KB Time limit exceeded
9 Halted 0 ms 0 KB -