HDU 2830

来源:互联网 发布:刀具半径补偿编程 编辑:程序博客网 时间:2024/05/29 14:16
水题一个,想法和HDU 1505类似。
#include <cstdio>#include <cstring>#include <string>#include <queue>#include <stack>#include <vector>#include <map>#include <iostream>#include <algorithm>using namespace std;#define ll long long#define int64 __int64#define M 1005int dp[M][M] , h[M] , temp[M] , n , m;char matrix[M][M];int main(){int i , j , ans;while (~scanf("%d%d",&n,&m)){memset(dp , 0 ,sizeof dp);for (i = 0 ; i < n ; i++)scanf("%s",matrix[i]);for (i = ans = 0 ; i < m ; i++){for (j = 0 ; j < m ; j++){if (matrix[i][j] == '1')h[j]++;else h[j] = 0;}memcpy(temp , h , sizeof temp);sort(temp,temp+m);for (j = 0 ; j < m ; j++)ans = max(ans , temp[j]*(m-j));}printf("%d\n",ans);}return 0;}