![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1
/*
2 ID:wconvey
3 PROG:barn1
4 LANG:C++
5
6 */
7 #include<iostream>
8 #include<cstdio>
9 #include<algorithm>
10 using namespace std;
11 struct mode
12 {
13 int a;
14 bool flag;
15 }arr[ 210];
16 struct node
17 {
18 int a;
19 int no;
20 }b[ 210];
21 int cmp1(mode x,mode y)
22 {
23 return x.a<y.a;
24 }
25 int cmp(node x,node y)
26 {
27 return x.a>y.a;
28 }
29 int main()
30 {
31 freopen( " barn1.in ", " r ",stdin);
32 freopen( " barn1.out ", " w ",stdout);
33 int m,s,c;
34 scanf( " %d %d %d ",&m,&s,&c);
35 for( int i= 1;i<=c;i++)
36 {
37 scanf( " %d ",&arr[i].a);
38 arr[i].flag= false;
39 }
40 sort(arr+ 1,arr+ 1+c,cmp1);
41 for( int i= 1;i<c;i++)
42 {
43 b[i].a=arr[i+ 1].a-arr[i].a;
44 b[i].no=i;
45 }
46 sort(b+ 1,b+ 1+c- 1,cmp);
47 /* for(int i=1;i<c;i++)
48 printf("%d %d***\n",b[i].a,b[i].no); */
49 for( int i= 1;i<m;i++)
50 {
51 arr[b[i].no].flag= true;
52 // printf("%d*******\n",b[i].no);
53
54 }
55 int ans= 0;
56 int start=arr[ 1].a,end;
57 for( int i= 1;i<=c;i++)
58 {
59 if(arr[i].flag== true)
60 {
61 // printf("%d *\n",i);
62 end=arr[i].a;
63 ans+=end-start+ 1;
64 start=arr[i+ 1].a;
65 }
66 }
67 ans+=arr[c].a-start+ 1;
68 printf( " %d\n ",ans);
69 // system("pause");
70 return 0;
71
72
2 ID:wconvey
3 PROG:barn1
4 LANG:C++
5
6 */
7 #include<iostream>
8 #include<cstdio>
9 #include<algorithm>
10 using namespace std;
11 struct mode
12 {
13 int a;
14 bool flag;
15 }arr[ 210];
16 struct node
17 {
18 int a;
19 int no;
20 }b[ 210];
21 int cmp1(mode x,mode y)
22 {
23 return x.a<y.a;
24 }
25 int cmp(node x,node y)
26 {
27 return x.a>y.a;
28 }
29 int main()
30 {
31 freopen( " barn1.in ", " r ",stdin);
32 freopen( " barn1.out ", " w ",stdout);
33 int m,s,c;
34 scanf( " %d %d %d ",&m,&s,&c);
35 for( int i= 1;i<=c;i++)
36 {
37 scanf( " %d ",&arr[i].a);
38 arr[i].flag= false;
39 }
40 sort(arr+ 1,arr+ 1+c,cmp1);
41 for( int i= 1;i<c;i++)
42 {
43 b[i].a=arr[i+ 1].a-arr[i].a;
44 b[i].no=i;
45 }
46 sort(b+ 1,b+ 1+c- 1,cmp);
47 /* for(int i=1;i<c;i++)
48 printf("%d %d***\n",b[i].a,b[i].no); */
49 for( int i= 1;i<m;i++)
50 {
51 arr[b[i].no].flag= true;
52 // printf("%d*******\n",b[i].no);
53
54 }
55 int ans= 0;
56 int start=arr[ 1].a,end;
57 for( int i= 1;i<=c;i++)
58 {
59 if(arr[i].flag== true)
60 {
61 // printf("%d *\n",i);
62 end=arr[i].a;
63 ans+=end-start+ 1;
64 start=arr[i+ 1].a;
65 }
66 }
67 ans+=arr[c].a-start+ 1;
68 printf( " %d\n ",ans);
69 // system("pause");
70 return 0;
71
72