Submission #631619

# Submission time Handle Problem Language Result Execution time Memory
631619 2022-08-18T10:13:07 Z Justin1 Automobil (COCI17_automobil) C++14
55 / 100
130 ms 31764 KB
#include <bits/stdc++.h>
#define int __int128
using namespace std;
 
long long n,m,k,x,y,z;
int c[1000005], r[1000005];
char ch;
vector<int> colupd;
 
int mod(int x) {
	const int modval = 1e9+7;
	return ((x % modval) + modval) % modval;
}
 
signed main() {
	cin.tie(0), cout.tie(0) -> sync_with_stdio(0);
	cin >> n >> m >> k;
	for (int i = 1; i <= n; i++) r[i] = 1;
	for (int i = 1; i <= m; i++) c[i] = 1;
	for (int i = 1; i <= k; i++) {
		cin >> ch >> x >> y;
		if (ch == 'R') r[x] = mod(r[x] * y);
		else c[x] = mod(c[x] * y);
	}
	int ans = mod((1 + n*m) * (n*m) / 2);
	for (int i = 1; i <= m; i++) {
		if (c[i] != 1) colupd.push_back(i);
		ans += mod(mod(n*(2*i+(n-1)*m)/2) * mod(c[i]-1));
		ans = mod(ans);
	}
	for (int i = 1; i <= n; i++) {
		int st = m*(i-1)+1;
		ans += mod(mod(m*(2*st+m-1)/2) * mod(r[i]-1));
		if (r[i] != 1) {
			for (auto j : colupd) {
				int val = mod(m*(i-1) + j);
				ans -= mod(val * mod(r[i] + c[j] - 2));
				ans += mod(val * mod(r[i] * c[j] - 1));
			}
		}
		ans = mod(ans);
	}
	cout << (long long) ans << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 4 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 3 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 5 ms 340 KB Output is correct
8 Correct 2 ms 340 KB Output is correct
9 Correct 5 ms 340 KB Output is correct
10 Correct 6 ms 376 KB Output is correct
11 Incorrect 22 ms 5232 KB Output isn't correct
12 Incorrect 71 ms 17080 KB Output isn't correct
13 Correct 8 ms 1492 KB Output is correct
14 Incorrect 67 ms 19880 KB Output isn't correct
15 Incorrect 72 ms 17752 KB Output isn't correct
16 Incorrect 126 ms 31764 KB Output isn't correct
17 Incorrect 124 ms 31620 KB Output isn't correct
18 Incorrect 128 ms 31636 KB Output isn't correct
19 Incorrect 130 ms 31632 KB Output isn't correct
20 Incorrect 130 ms 31628 KB Output isn't correct