被B的0的情况从头卡到尾。导致没看C,心情炸裂又掉分了。

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

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 into n pieces. The i-th piece is a sector of angle equal to ai. Vasya and Petya want to divide all pieces of pizza into two continuous 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 all ai is 360.

Output

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

Examples
input
4
90 90 90 90
output
0
input
3
100 100 160
output
40
input
1
360
output
360
input
4
170 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:

Codeforces Round #448(Div.2) Editorial  ABC

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

 


 
题意:

 

给你一块按半径分成n块的披萨,并按顺序(顺时针或逆时针)给出这n块的角度,现在你要把其中连续k块合成一块,剩下的合成一块,求最小的角度之差,允许角度为0的块出现。
题解:
O(n^2)以每块披萨为起始找一下就好了。
 1 #include<bits/stdc++.h>
 2 #define clr(x) memset(x,0,sizeof(x))
 3 #define clr_1(x) memset(x,-1,sizeof(x))
 4 #define LL long long
 5 #define mod 1000000007
 6 #define INF 0x3f3f3f3f
 7 using namespace std;
 8 const int N=1000;
 9 int a[N],n,m,all,mindif;
10 set<int> num,num2;
11 set<int>::iterator it;
12 int main()
13 {
14     scanf("%d",&n);
15     all=0;
16     mindif=INF;
17     for(int i=1;i<=n;i++)
18     {
19         scanf("%d",&a[i]);
20     }
21     for(int i=1;i<=n;i++)
22     {
23         all=0;
24         for(int j=i;j<=i+n;j++)
25         {
26             all+=a[(j-1)%n+1];
27             if(abs(360-2*all)<mindif)
28                 mindif=abs(360-2*all);
29         }
30     }
31     printf("%d\n",mindif);
32     return 0;
33 }
View Code

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
猜你喜欢
  • 2021-12-08
  • 2021-06-23
  • 2021-07-14
  • 2021-06-28
  • 2022-02-21
  • 2021-08-27
  • 2022-12-23
相关资源
相似解决方案