Submission #503494

#TimeUsernameProblemLanguageResultExecution timeMemory
503494jparkLasers (NOI19_lasers)C++14
24 / 100
309 ms33188 KiB
#include<iostream>
#include<vector>
#define ll long long
using namespace std;

int main(){
    ll l,r;
    cin >> l >> r;
    //bool bl[l];
    vector<ll> rows[r+100];
    //for(int i=0; i<l; i++) bl[i] = 0;
    for(int i = 0; i<r; i++){
        int x; cin >> x;
        for(int j=0; j<x; j++){
            int w; cin >> w;
            rows[i].push_back(w);
        }
    }
    int minb = (l+1)/2;
    int maxb = (l+1)/2;
    bool bpres = false;
    for(int i=0; i<r; i++){
        if(rows[i].size()>0){
            if(2*rows[i][0]>l){
                bpres = true;
                int bnum = 2*rows[i][0]-l;
                if(bnum%2==0){
                    int tminb = l/2;
                    tminb -= bnum/2;
                    tminb += 1;
                    minb = min(minb,tminb);
                    int tmaxb = l/2;
                    tmaxb += bnum/2;
                    maxb = max(maxb,tmaxb);
                }
                else{
                    int tminb = (l+1)/2;
                    tminb -= bnum/2;
                    minb = min(minb,tminb);
                    int tmaxb = (l+1)/2;
                    tmaxb += bnum/2;
                    maxb = max(maxb,tmaxb);
                }
            }
        }
        
    }
    if(bpres){
        cout << maxb-minb+1;
    }
    else{
        cout << 0;
    }
}
#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...