답안 #40960

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
40960 2018-02-10T14:15:45 Z Kerim 과수원 (NOI14_orchard) C++14
25 / 25
284 ms 16264 KB
#include "bits/stdc++.h"
#define MAXN 100009
#define INF 1000000007
#define mp(x,y) make_pair(x,y)
#define all(v) v.begin(),v.end()
#define pb(x) push_back(x)
#define wr cout<<"----------------"<<endl;
#define ppb() pop_back()
#define tr(ii,c) for(__typeof((c).begin()) ii=(c).begin();ii!=(c).end();ii++)
#define ff first
#define ss second
#define my_little_dodge 46
#define debug(x)  cerr<< #x <<" = "<< x<<endl;
using namespace std;

typedef long long ll;
typedef pair<int,int> PII;
template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;}
template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;}
int main(){
    //~ freopen("file.in", "r", stdin);
    int n,m,tot=0;
    scanf("%d%d",&n,&m);
    vector<vector<int> >arr(n+1,(vector<int>(m+1)));
    vector<int>one(m+1);
    vector<int>zero(m+1);
    for(int i=1;i<=n;i++)	
		for(int j=1;j<=m;j++)
			scanf("%d",&arr[i][j]),tot+=arr[i][j];
	if(n*m==tot){
		printf("%d\n",min(n,m));
		return 0;
	}		
	int ans=INF;	
	for(int i=1;i<=n;i++){
		for(int j=0;j<=m;j++)
			one[j]=zero[j]=0;
		for(int j=i;j<=n;j++){
			int res=0,bir=0,nol=0;
			for(int k=1;k<=m;k++){
				one[k]+=arr[j][k];
				zero[k]+=!arr[j][k];
				nol+=zero[k];bir+=one[k];
				umin(ans,tot-bir+nol+res);
				umin(res,bir-nol);
			}
		}
	}
	printf("%d\n",ans);
	return 0;
} 

Compilation message

orchard.cpp: In function 'int main()':
orchard.cpp:23:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
                        ^
orchard.cpp:29:41: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&arr[i][j]),tot+=arr[i][j];
                                         ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 248 KB Output is correct
2 Correct 1 ms 352 KB Output is correct
3 Correct 2 ms 404 KB Output is correct
4 Correct 1 ms 404 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 732 KB Output is correct
2 Correct 3 ms 732 KB Output is correct
3 Correct 4 ms 732 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 125 ms 16216 KB Output is correct
2 Correct 123 ms 16264 KB Output is correct
3 Correct 117 ms 16264 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 25 ms 16264 KB Output is correct
2 Correct 26 ms 16264 KB Output is correct
3 Correct 23 ms 16264 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 16264 KB Output is correct
2 Correct 9 ms 16264 KB Output is correct
3 Correct 9 ms 16264 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 260 ms 16264 KB Output is correct
2 Correct 284 ms 16264 KB Output is correct
3 Correct 269 ms 16264 KB Output is correct