Submission #1296127

#TimeUsernameProblemLanguageResultExecution timeMemory
1296127chaitanyamehtaLasers (NOI19_lasers)C++20
20 / 100
1095 ms7764 KiB
// https://static.oj.uz/problem/c014a9e7a8f56bc2f9f572b0bdc08fa0/statement/ddc244fdcd6f2b1a2747c6561b1319e7dff1edb43080c46bffcfc3e9c8b6bb86/statement_en.pdf

#include<bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
    int l , r;
    cin>> l >> r;
    vector<int> r1 , r2 , p1 , p2;
    
    int t;
    cin>>t;
    r1.push_back(0) , r2.push_back(0);
    for(int i = 0; i < t;i++){
        int u;
        cin>>u;
        r1.push_back(u);
    }
    cin>>t;
    for(int i = 0 ; i < t;i++){
        int u;
        cin>>u;
        r2.push_back(u);
    }

    p1.resize(r1.size()) , p2.resize(r2.size());
    
    for(int i = 1; i < r1.size() ;i++){
        p1[i] = r1[i] + p1[i-1];
    }
    for(int i = 1 ; i < r2.size() ;i++){
        p2[i] = r2[i] + p2[i-1];
    }
    int ans = 0;
    for(int i = 1;i<=l;i++){
        int left = i - 1;
        int right= l - i;
        auto it1 = upper_bound(p1.begin() , p1.end() , left);
        if(it1 == p1.end());
        else{
            it1--;
            int idx = it1 - p1.begin();
            int temp = p1.back() - p1[idx];
            if(temp > right){
                ans++;
                continue;
            }
        }
        auto it2 = upper_bound(p2.begin() , p2.end() , left);
        if(it2 == p2.end());
        else{
            it2--;
            int idx = it2 - p2.begin();
            int temp = p2.back() - p2[idx];
            if(temp > right){
                ans++;
                continue;
            }
        }
    }
    cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...