#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,a,b) for(int i = a; i <= b; i++)
#define per(i,a,b) for(int i = a; i >= b; i--)
#define pii pair<int,int>
#define pb push_back
#define fi first
#define se second
const int MAXN = 5e5+10;
const int INF = 1e18+10;
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(nullptr);
int L,m;cin >> L >> m;
vector<vector<pii>> ranges(m+1);
rep(i,1,m) {
int j, s=0;cin >> j;
vector<int> a;
while (j--) {
int x;cin >> x;
a.pb(x);
s += x;
}
int cur = 0;
for (int &x : a) {
cur += x;
if(L-s+1<=cur)ranges[i].pb({L-s+1,cur});
s-=x;
}
}
vector<pii> dif;
rep(i,1,m) {
for (auto &[l,r] : ranges[i]) dif.pb({l,1}), dif.pb({r+1,-1});
}
int lst = 0, ans = 0, cur = 0;
sort(dif.begin(),dif.end());
for (auto &[i, dx] : dif) {
if (cur==0) lst = i;
cur += dx;
if (cur == 0) {
ans += i-lst;
}
}
cout << ans << '\n';
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... |