Submission #239833

#TimeUsernameProblemLanguageResultExecution timeMemory
239833mhy908Lasers (NOI19_lasers)C++14
100 / 100
579 ms29304 KiB
#include <bits/stdc++.h>
#define eb emplace_back
#define F first
#define S second
using namespace std;
typedef long long LL;
int n, q;
int arr[500010], sum[500010], ans, tmp, pv=1;
map<int, int> m;
int main(){
    scanf("%d %d", &n, &q);
    m[n+1]=0;
    for(int i=1; i<=q; i++){
        int sz;
        scanf("%d", &sz);
        for(int j=1; j<=sz; j++){
            scanf("%d", &arr[j]);
            sum[j]=sum[j-1]+arr[j];
        }
        for(int j=1; j<=sz; j++){
            int e=sum[j], s=n-(sum[sz]-sum[j-1])+1;
            if(s<=e){
                m[s]++;
                m[e+1]--;
            }
        }
    }
    for(auto i:m){
        if(tmp)ans+=i.F-pv+1;
        tmp+=i.S;
        pv=i.F+1;
    }
    printf("%d", ans);
}

Compilation message (stderr)

lasers.cpp: In function 'int main()':
lasers.cpp:11:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &n, &q);
     ~~~~~^~~~~~~~~~~~~~~~~
lasers.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &sz);
         ~~~~~^~~~~~~~~~~
lasers.cpp:17:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", &arr[j]);
             ~~~~~^~~~~~~~~~~~~~~
#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...