Submission #631618

# Submission time Handle Problem Language Result Execution time Memory
631618 2022-08-18T10:11:47 Z Justin1 Automobil (COCI17_automobil) C++14
55 / 100
125 ms 31692 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);
	}
	long long 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 << 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 4 ms 368 KB Output is correct
10 Correct 6 ms 340 KB Output is correct
11 Incorrect 21 ms 5224 KB Output isn't correct
12 Incorrect 67 ms 17108 KB Output isn't correct
13 Correct 7 ms 1492 KB Output is correct
14 Incorrect 73 ms 19880 KB Output isn't correct
15 Incorrect 67 ms 17760 KB Output isn't correct
16 Incorrect 112 ms 31572 KB Output isn't correct
17 Incorrect 115 ms 31532 KB Output isn't correct
18 Incorrect 125 ms 31692 KB Output isn't correct
19 Incorrect 121 ms 31628 KB Output isn't correct
20 Incorrect 110 ms 31640 KB Output isn't correct