Submission #1296125

#TimeUsernameProblemLanguageResultExecution timeMemory
1296125chaitanyamehtaLasers (NOI19_lasers)C++20
0 / 100
1094 ms5196 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...