2014年2月7日 星期五

[HOJ] 47 - Logs


#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int s[1505]={0};
char in[1505];
vector<int> vec;
int main(){
    int i,j,n,m,k,ans=0,all;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++){
        scanf("%s",in);
        all=0;
        for(j=0;j<m;j++){
            if(in[j]=='1') s[j]++;
            else s[j]=0;
            if(s[j]) vec.push_back(s[j]);
            all+=s[j];
        }
        if(all<ans){
            vec.clear();
            continue;
        }
        sort(vec.begin(),vec.end());
        for(j=0;j<vec.size();j++)
            if(vec[j]*(vec.size()-j)>ans)
                ans=vec[j]*(vec.size()-j);
        vec.clear();
    }
    printf("%d\n",ans);
}

沒有留言:

張貼留言