#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pll = pair<ll,ll>;
const int N = 500005;
pll segs[N];
int nseg=0;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll L; int R; if(!(cin>>L>>R)) return 0;
while(R--){
int X; cin>>X;
static ll a[1005];
ll total=0;
for(int i=1;i<=X;i++){ cin>>a[i]; total+=a[i]; }
ll S = L - total, P = 0;
for(int i=1;i<=X;i++){
ll l = P + S + 1, r = P + a[i];
if(l<1) l=1; if(r> L) r=L;
if(l<=r) segs[++nseg] = {l,r};
P += a[i];
}
}
if(!nseg){ cout<<0; return 0; }
sort(segs+1, segs+nseg+1);
ll ans=0, Lc=segs[1].first, Rc=segs[1].second;
for(int i=2;i<=nseg;i++){
if(segs[i].first>Rc){
ans += Rc - Lc + 1;
Lc = segs[i].first; Rc = segs[i].second;
} else Rc = max(Rc, segs[i].second);
}
ans += Rc - Lc + 1;
cout<<ans;
return 0;
}
# | 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... |