Submission #1296132

#TimeUsernameProblemLanguageResultExecution timeMemory
1296132chaitanyamehtaLasers (NOI19_lasers)C++20
63 / 100
1094 ms54784 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<vector<int>> rows(r); vector<vector<int>> p(r); for(int i = 0; i < r;i++){ int t; cin>>t; rows[i].push_back(0); p[i].push_back(0); for(int j = 0 ; j < t;j++){ int u; cin>>u; rows[i].push_back(u); p[i].push_back(p[i].back() + u); } } int ans = 0; for(int i = 1;i<=l;i++){ int left = i - 1; int right= l - i; for(int j = 0 ; j < r ; j++){ // for(int k = 0 ; k < rows[i].size() ; k++){ auto it1 = upper_bound(p[j].begin() , p[j].end() , left); if(it1 == p[j].end()); else{ it1--; int idx = it1 - p[j].begin(); int temp = p[j].back() - p[j][idx]; if(temp > right){ ans++; break; } } // } } // 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...