求解T1
RT,为什么我这么写前缀和会错?
#include<bits/stdc++.h> using namespace std; int a[5010][5010]; int s[5010][5010]; bool b[5010]; template<typename T>void qin(T &x) { x=0;bool f=0; char ch=getchar(); while(!isdigit(ch)&&ch!='-') ch=getchar(); if(ch=='-') ch=getchar(),f=1; while(isdigit(ch)) x=x*10+ch-'0',ch=getchar(); if(f==1) x=-x; } int main() { int n,m; qin(n),qin(m); int i,j; for(i=1;i<=n;i++) for(j=1;j<=m;j++){ qin(a[i][j]); s[i][j]=s[i][j-1]+a[i][j]; } int c=0x7ffffff,k=0x7ffffff; for(i=1;i<=m;i++){ int c1=0; for(j=1;j<=n;j++) if(s[j][i]==i){ b[i]=1; c1++; } if(!b[i]){ k=i-1; break; } c=min(c1,c); } cout<<c*k; return 0; }