Submission #919014

# Submission time Handle Problem Language Result Execution time Memory
919014 2024-01-31T04:25:46 Z TIN Bob (COCI14_bob) C++17
72 / 120
1000 ms 14008 KB
#include <bits/stdc++.h>

using namespace std;

#define FNAME "test"

const int N = 1005;

#define bs bitset<N>

int n,m;
int a[N][N];
long long res = 0;

void Task() {
	ios_base::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cout << fixed << setprecision(9);
	if (fopen(FNAME".inp","r")) {
		freopen(FNAME".inp","r",stdin);
		freopen(FNAME".out","w",stdout);
	}
}

void Solve() {
	//Your Code
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			cin >> a[i][j];
		}
	}
	for (int L = 1; L <= m; L++) {
		vector<bool> b(n + 2);
		for (int i = 1; i <= n; i++) b[i] = true;
		b[n + 1] = false;
		for (int R = L; R <= m; R++) {
			for (int i = 1; i <= n; i++) b[i] = b[i] & (a[i][L] == a[i][R]);
			// cerr << L << " " << R << " ";
			// for (int i = 1; i <= n; i++) cerr << b[i];
			// cerr << '\n';
			int k = 0;
			for (int i = 1; i <= n + 1; i++) {
				if (b[i] && (i == 1 || a[i][L] == a[i - 1][L])) k++;
				else {
					res += 1LL * k * (k + 1) / 2;
					k = b[i];
				}
			}
		}
	}
	cout << res << '\n';
}

int main() {
	Task();
	Solve();
	return 37^37;
}

Compilation message

bob.cpp: In function 'void Task()':
bob.cpp:20:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |   freopen(FNAME".inp","r",stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
bob.cpp:21:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |   freopen(FNAME".out","w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2648 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2648 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 283 ms 3408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 295 ms 3644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 292 ms 3836 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 277 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1043 ms 10832 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1075 ms 14008 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1028 ms 13932 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1016 ms 13932 KB Time limit exceeded
2 Halted 0 ms 0 KB -