import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin=new Scanner (System.in);
int a[]=new int [3];
for(int i=0;i<3;i++) {
a[i]=cin.nextInt();
}
Arrays.sort(a);
if(a[0]+a[1]<=a[2])a[2]=a[2]-(a[2]-(a[0]+a[1]))-1;
int out=0;
out=a[0]+a[1]+a[2];
System.out.print(out);
}
}
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
arr[0] = sc.nextInt();
arr[1] = sc.nextInt();
arr[2] = sc.nextInt();
Arrays.sort(arr);
while (arr[2] >= arr[0] + arr[1]) {
arr[2]--;
}
System.out.println(arr[0] + arr[1] + arr[2]);
}
}
这题就两边之和大于第三边,只要最小两个之和大于第三个即可。
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int a[]=new int[3];
for(int i=0;i<3;i++){
a[i]=in.nextInt();
}
Arrays.sort(a);
int res=0;
//利用三角形两边之和大于第三边的性质
if(a[0]+a[1]>a[2])
res=a[0]+a[1]+a[2];
else
res=a[0]+a[1]+a[0]+a[1]-1;//第三边太大,
//将他变成比前两边之和小一点点就好
System.out.println(res);
}
}
import java.util.*;