1 条题解

  • 0
    @ 2025-11-30 16:26:39

    C :

    #include<stdio.h>
    
    int main()
    {
    	int n,i,j,t,s,a[101];
    	while(scanf("%d",&n)!=EOF,n)
    	{
    		for(i=0;i<n;i++)
    			scanf("%d",&a[i]);
    		for(i=0;i<n-1;i++)
    			for(j=0;j<n-1-i;j++)
    				if(a[j]>a[j+1])
    				{
    					t=a[j];
    					a[j]=a[j+1];
    					a[j+1]=t;
    				}
    		for(s=i=0;i<n/2+1;i++)
    			s+=a[i]/2+1;
    		printf("%d\n",s);
    	}
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<map>
    #include<queue>
    #include<stack>
    #include<set>
    #include<vector>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    #define Max(a,b) (a > b ? a : b)
    #define Min(a,b) (a < b ? a : b)
    #define INF 0x3f3f3f3f
    #define M 100
    
    int main()
    {
        int n,a[1000],m,ans;
        while(scanf("%d",&n)!=EOF)
        {
            if(!n)
            {
                break;
            }
            for(int i = 0; i < n; i++)
            {
                scanf("%d",&a[i]);
            }
            sort(a,a + n);
            ans = 0;
            for(int i = 0; i < n / 2 + 1; i++)
            {
                ans += a[i] / 2 + 1;
            }
            printf("%d\n",ans);
        }
        return 0;
    }
    
    

    Java :

    import java.util.*;
    
    public class Main{
    	public static int addOfArray(int[] array){
    		int count = 0;
    		for(int i=0;i<array.length;i++){
    			count += array[i];
    		}
    		return count;
    	}
    	public static int moreThanHalf(int a){
    		return a/2+1;
    	}
    	
    	
    	public static void main(String[] args) {
    		@SuppressWarnings("resource")
    		Scanner sc = new Scanner(System.in);
    		
    		int[] people =new int[1024];
    		int flag = sc.nextInt();
    		int k = 0;
    		
    		while(flag != 0){
    			int[] a =new int[flag];
    			int[] b =new int[flag];
    			
    			for(int i=0;i<flag;i++){
    				a[i] = sc.nextInt();
    				b[i] = moreThanHalf(a[i]);
    			}
    			Arrays.sort(b);
    			for(int j=0;j<moreThanHalf(flag);j++){
    				people[k] += b[j];
    			}
    			flag = sc.nextInt();
    			k++;
    		}
    		for(int i=0;i<k;i++){
    			System.out.println(people[i]);
    		}
    	}
    }
    
    • 1

    信息

    ID
    1220
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者