Pizza Separation CodeForces

来源:互联网 发布:sql查询不重复的记录 编辑:程序博客网 时间:2024/05/16 15:44

Students Vasya and Petya are studying at the BSU (Byteland State University). At one of the breaks they decided to order a pizza. In this problem pizza is a circle of some radius. The pizza was delivered already cut inton pieces. The i-th piece is a sector of angle equal toai. Vasya and Petya want to divide all pieces of pizza into twocontinuous sectors in such way that the difference between angles of these sectors is minimal. Sector angle is sum of angles of all pieces in it. Pay attention, that one of sectors can be empty.

Input

The first line contains one integer n (1 ≤ n ≤ 360)  — the number of pieces into which the delivered pizza was cut.

The second line contains n integers ai (1 ≤ ai ≤ 360)  — the angles of the sectors into which the pizza was cut. The sum of allai is 360.

Output

Print one integer  — the minimal difference between angles of sectors that will go to Vasya and Petya.

Example
Input
490 90 90 90
Output
0
Input
3100 100 160
Output
40
Input
1360
Output
360
Input
4170 30 150 10
Output
0
Note

In first sample Vasya can take 1 and 2 pieces, Petya can take 3 and 4 pieces. Then the answer is |(90 + 90) - (90 + 90)| = 0.

In third sample there is only one piece of pizza that can be taken by only one from Vasya and Petya. So the answer is|360 - 0| = 360.

In fourth sample Vasya can take 1 and 4 pieces, then Petya will take 2 and 3 pieces. So the answer is |(170 + 10) - (30 + 150)| = 0.

Picture explaning fourth sample:

Both red and green sectors consist of two adjacent pieces of pizza. So Vasya can take green sector, then Petya will take red sector.

题意:给两位女孩分披萨,一块披萨,两人分,要求分的时候必须是连续的分   见图,求出分出的最小差

分析:思路不难,还是看代码吧

#include <iostream>#include <cmath>#include <algorithm>#include <malloc.h>#include <math.h>#include <string.h>using namespace std;int main(){    int n;    int a[1001];    cin>>n;    for(int i=0;i<n;i++)        cin>>a[i];    int ccmin=19991;    for(int i=0;i<n;i++)    {        int sum=0;        for(int j=i;j<n;j++)        {            sum+=a[j];            ccmin=min(ccmin,abs(360-sum-sum));//解释一下,绝对值里面是差值,就是两个人的分披萨的差值        }    }    cout<<ccmin<<endl;}



原创粉丝点击