Cod sursa(job #3194404)

Utilizator CraiuAndreiCraiu Andrei David CraiuAndrei Data 17 ianuarie 2024 21:45:14
Problema Teren Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");

int n, m, k, sp[301][301];

int main()
{
	int i, i2, j, x, s, p,sol;
	fin >> n >> m >> k;
	for(i=1;i<=n;i++)
		for (j = 1; j <= m; j++)
		{
			fin >> x;
			sp[i][j] = sp[i - 1][j] + x;
		}
	sol = 0;
	for(i=1;i<=n;i++)
		for (i2 = i; i2 <= n; i2++)
		{
			s = 0;
			p = 1;
			for (j = 1; j <= m; j++)
			{
				s += sp[i2][j] - sp[i - 1][j];
				while(s > k && p<=j)
				{
					s-=(sp[i2][p] - sp[i - 1][p]);
					p++;
				}
				x = (i2 - i + 1) * (j - p + 1);
				if (s <= k && x > sol)sol = x;
			}
		}
	fout << sol;
	return 0;
}