# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
239830 | mhy908 | Lasers (NOI19_lasers) | C++14 | 55 ms | 7160 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
#define eb emplace_back
using namespace std;
typedef long long LL;
int n, q;
struct FENWICK{
int tree[500010];
int sum(int i){
int ans=0;
while(i){
ans+=tree[i];
i-=(i&-i);
}
return ans;
}
void update(int i, int num){
while(i<=500000){
tree[i]+=num;
i+=(i&-i);
}
}
}fen;
int arr[500010], sum[500010], ans;
int main(){
scanf("%d %d", &n, &q);
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){
fen.update(s, 1);
fen.update(e+1, -1);
}
}
}
for(int i=1; i<=n; i++){
if(fen.sum(i))ans++;
}
printf("%d", ans);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |