1. 程式人生 > >Codeforces Gym100971 C.Triangles-組三角形 (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)

Codeforces Gym100971 C.Triangles-組三角形 (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)

def img triangle ace ces return cst \n mage

技術分享圖片

這個題就是組三角形,從給出的數組裏任選兩個和未知的邊組三角形。

任意兩邊之和大於第三邊,記住這個就可以了。

代碼:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<cmath>
 5 #include<algorithm>
 6 using namespace std;
 7 const int N=1e6+10;
 8 int a[N];
 9 int main(){
10     int n;
11     while(~scanf("%d",&n)){
12         for(int i=0;i<n;i++)
13             scanf("%d",&a[i]);
14         sort(a,a+n);
15         if(n==2){
16             printf("YES\n");
17             printf("%d\n",a[1]-a[0]+1);
18         }
19         else{
20             int cnt=a[0]+a[1]-1;
21             if(cnt<a[n-1]){
22                 if(cnt+a[0]>a[n-1]){
23                     printf("YES\n");
24                     printf("%d\n",cnt);
25                 }
26                 else printf("NO\n");
27             }
28             else{
29                 if(a[0]+a[n-1]>cnt){
30                     printf("YES\n");
31                     printf("%d\n",cnt);
32                 }
33                 else printf("NO\n");
34             }
35         }
36     }
37     return 0;
38 }

Codeforces Gym100971 C.Triangles-組三角形 (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)