Submission #645385

#TimeUsernameProblemLanguageResultExecution timeMemory
645385gun_ganLasers (NOI19_lasers)C++17
21 / 100
38 ms39944 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 5e5 + 5;
int l, r, curr[N], sum[N];
vector<int> s[N];
multiset<int> S;

int main() {
	cin.tie(0); ios_base::sync_with_stdio(0);

	cin >> l >> r;
	int ans = l;
	for(int i = 0; i < r; i++) {
		int x; cin >> x;
		for(int j = 0; j < x; j++) {
			int p; cin >> p;
			sum[i] += p;
			s[sum[i]].push_back(i);
		}
		S.insert(sum[i]);
	}
	for(int i = 1; i <= l; i++) {
		if(l - i >= *S.rbegin()) ans--;
		for(auto j : s[i]) {
			S.erase(S.find(sum[j] - curr[j]));
			curr[j] = i;
			S.insert(sum[j] - curr[j]);
		}
	}
	cout << ans << '\n';
}
#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...