Submission #631617

# Submission time Handle Problem Language Result Execution time Memory
631617 2022-08-18T10:10:45 Z Justin1 Automobil (COCI17_automobil) C++14
55 / 100
37 ms 15980 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;

int 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 << ans << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 2 ms 340 KB Output is correct
10 Correct 2 ms 340 KB Output is correct
11 Incorrect 7 ms 2772 KB Output isn't correct
12 Incorrect 22 ms 8660 KB Output isn't correct
13 Correct 3 ms 852 KB Output is correct
14 Incorrect 19 ms 10108 KB Output isn't correct
15 Incorrect 20 ms 9044 KB Output isn't correct
16 Incorrect 35 ms 15980 KB Output isn't correct
17 Incorrect 36 ms 15976 KB Output isn't correct
18 Incorrect 35 ms 15956 KB Output isn't correct
19 Incorrect 37 ms 15976 KB Output isn't correct
20 Incorrect 35 ms 15980 KB Output isn't correct