解题思路: 先求出“至少一半”州的数目,在升序排列求出这些州的每个“至少一半”的人,再累加求和
注意事项: 注意不能使用向上取整(ceil),因为整除的时候,没有实现 一半多 的目的。
参考代码:
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int n=in.nextInt(); if(n==0) break; else { int arr[] = new int [n]; for(int i=0;i<n;i++) { arr[i]=in.nextInt(); } int leaststate = n/2+1; //最少支持州数目 Arrays.sort(arr); int leastsupport =0; //最少支持的人数 for(int i=0;i<leaststate;i++) { leastsupport +=arr[i]/2+1; } System.out.println(leastsupport); } } in.close(); } }
0.0分
0 人评分
人见人爱A+B (C语言代码)浏览:782 |
假币问题 (C语言代码)浏览:2336 |
IP判断 (C++代码)浏览:676 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:495 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:605 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:595 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:377 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:517 |
【排队买票】 (C语言代码)浏览:899 |