1 solutions
-
0
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