답안 #40959

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
40959 2018-02-10T14:11:41 Z Kerim 과수원 (NOI14_orchard) C++14
13 / 25
309 ms 11356 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 arr[155][5005];
int zero[5005],one[5005];
int main(){
    //~ freopen("file.in", "r", stdin);
    int n,m,tot=0;
    scanf("%d%d",&n,&m);
    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++){
		memset(one,0,sizeof one);
		memset(zero,0,sizeof zero);
		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:25: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:28: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 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 424 KB Output is correct
4 Correct 2 ms 500 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 640 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 115 ms 6660 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 22 ms 6660 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 6660 KB Output is correct
2 Correct 9 ms 6660 KB Output is correct
3 Correct 10 ms 6660 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 309 ms 8404 KB Output is correct
2 Correct 267 ms 9828 KB Output is correct
3 Correct 250 ms 11356 KB Output is correct