1 solutions

  • 0
    @ 2025-11-5 16:54:51

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int m,s,c;
    int num[250];
    int ch[250];
    int main()
    {
    	//freopen("1.in","r",stdin);
    	scanf("%d%d%d",&m,&s,&c);
    	for(int i=1;i<=c;i++)
    		scanf("%d",&num[i]);
    	sort(num+1,num+1+c);
    	int ans=num[c]-num[1]+1;
    	for(int i=1;i<c;i++)
    		ch[i]=num[i+1]-num[i]-1;
    	sort(ch,ch+c);
    	for(int i=c-1;i>=c-m+1;i--)
    		ans-=ch[i];
    	printf("%d",ans);
    }
    

    Pascal :

    var a,b:array[0..201] of longint;
        ans,tot,n:integer;
    procedure qsort(l,r:longint);
    var i,j,x,t:longint;
    begin
     i:=l; j:=r;
     x:=a[l+random(r-l)];
     repeat
      while a[i]>x do inc(i);
      while a[j]<x do dec(j);
      if i<=j then
      begin
       t:=a[i]; a[i]:=a[j]; a[j]:=t;
       inc(i); dec(j);
      end;
     until i>j;
     if i<r then qsort(i,r);
     if l<j then qsort(l,j);
    end;
    
    procedure init;
    var i,min,max:longint;
    begin
     readln(tot,n,n);
     min:=maxlongint; max:=-maxlongint;
     for i:=1 to n do
     begin
      readln(a[i]);
      if a[i]<min then min:=a[i];
      if a[i]>max then max:=a[i];
     end;
     ans:=max-min;
    end;
    
    procedure main;
    var i:longint;
    begin
     for i:=2 to n do b[i]:=abs(a[i]-a[i-1]);
     a:=b; qsort(2,n);
     if tot>=n then tot:=n;
     for i:=2 to 2+tot-2 do dec(ans,a[i]);
     writeln(ans+tot);
    end;
    
    begin
     randomize;
     init;
     qsort(1,n);
     main;
    end.
    
    • 1

    Information

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