1 solutions

  • 0
    @ 2025-11-5 15:11:13

    C++ :

    #include<stdio.h>
    #include<malloc.h>
    int main()
    {
     int m,s,c;
     while(scanf("%d%d%d",&m,&s,&c)!=EOF){
    	 int *a,*b;
    	 a=(int *)malloc(c*sizeof(int));
    	 b=(int *)malloc((c-1)*sizeof(int));
    	 for(int i=0;i<c;i++)
    		 scanf("%d",&a[i]);
    	 if(m<c){
    		 for(int i=0;i<c-1;i++)
    			 for(int j=i+1;j<=c-1;j++){
    				 if(a[i]>a[j]){
    					 int t;
    					 t=a[i];
    					 a[i]=a[j];
    					 a[j]=t;
    				 }
    			 }
    	 for(int i=1;i<c;i++) 
    		 b[i-1]=a[i]-a[i-1];
    	 for(int i=0;i<c-2;i++)
    		 for(int j=i+1;j<=c-2;j++){
    			 if(b[i]>b[j]){
                   int t;
    			   t=b[i];
    			   b[i]=b[j];
    			   b[j]=t;
    			 }
    		 }
    		int sum1=0,sum2=0;
    		 for(int i=0;i<m-1;i++)
    			 sum1=sum1+b[c-2-i];
    		 for(int i=0;i<c-1;i++)
    			 sum2=sum2+b[i];
    		 printf("%d\n",sum2-sum1+m);
    		 sum1=sum2=0;
    	 }
    	 else printf("%d\n",c);
     }
     return 0;
    }
    
    • 1

    Information

    ID
    16490
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By