立命館合宿2012 day1 問題A K Cards (AOJ 1084)

問題

日本語なので本文参照(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1084

制約条件

n≦100
k≦5
1≦c[i]≦10
テストケースは100個以下

方針

全通り試せばよい。

ソースコード

int main(){
	int n, k;
	while(cin>>n>>k,n){
		vi c(n);
		rep(i,n)cin>>c[i];
		int a=0,b=0;
		rep(i,n-k+1){
			int t=1;
			rep(j,k)t*=c[i+j];
			a=max(a,t);
		}
		rep(x,n)rep(y,x){
			swap(c[x],c[y]);
			rep(i,n-k+1){
				int t=1;
				rep(j,k)t*=c[i+j];
				b=max(b,t);
			}
			swap(c[x],c[y]);
		}
		if(a>b)cout<<"NO GAME"<<endl;
		else cout<<b-a<<endl;
	}
	return 0;
}