程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Codeforces 327A-Flipping Game(暴力枚舉)

Codeforces 327A-Flipping Game(暴力枚舉)

編輯:C++入門知識

Codeforces 327A-Flipping Game(暴力枚舉)


A. Flipping Game time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

Iahub got bored, so he invented a game to be played on paper.

He writes n integers a1,?a2,?...,?an. Each of those integers can be either 0 or 1. He's allowed to do exactly one move: he chooses two indices i and j (1?≤?i?≤?j?≤?n) and flips all values ak for which their positions are in range [i,?j] (that is i?≤?k?≤?j). Flip the value of xmeans to apply operation x?=?1 - x.

The goal of the game is that after exactly one move to obtain the maximum number of ones. Write a program to solve the little game of Iahub.

Input

The first line of the input contains an integer n (1?≤?n?≤?100). In the second line of the input there are n integers: a1,?a2,?...,?an. It is guaranteed that each of those n values is either 0 or 1.

Output

Print an integer — the maximal number of 1s that can be obtained after exactly one move.

Sample test(s) input
5
1 0 0 1 0
output
4
input
4
1 0 0 1
output
4
題意:翻牌游戲。給出n張牌,每張牌只有0和1兩種狀態。給出初始狀態。對於翻牌操作這樣規定:每次操作可將區間[i,j](1=
枚舉區間+遍歷區間判斷,O(n^3);
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int INF=0x3f3f3f3f;
#define LL long long
int a[110];
int main()
{
	int n,num[2];
	while(~scanf("%d",&n))
	{
		int ans=0;
		for(int i=0;inum[1])
					ans=max(ans,pos+num[0]-num[1]);
			}
			printf("%d\n",ans);
	}
	return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved