제출 #1296132

#제출 시각아이디문제언어결과실행 시간메모리
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...