fork download
  1. /*
  2. ID: ScriptCoder
  3. PROG: barn1
  4. LANG: C++
  5. */
  6. #include <iostream>
  7. #include <vector>
  8. #include <algorithm>
  9. using namespace std;
  10.  
  11. int main() {
  12. int M,S,C,ans;
  13. cin>>M>>S>>C;
  14.  
  15. vector<int> barns(S);
  16. for(int i=0; i<C; ++i) {
  17. int temp;
  18. cin>>temp;
  19. barns[temp-1]=1;
  20. }
  21.  
  22. vector<int> v;
  23. int cur=barns[0], num=1, min=S, max=-1;
  24. for(int i=1; i<S; ++i) {
  25. if(barns[i]!=cur) {
  26. if(cur==0) {
  27. v.push_back(num);
  28. cur=1;
  29. num=1;
  30. } else {
  31. cur=0;
  32. num=1;
  33. }
  34. } else {
  35. ++num;
  36. }
  37. if(barns[i]==1) {
  38. min= (i<min ? i : min);
  39. max= (i>max ? i : max);
  40. }
  41. }
  42.  
  43. sort(v.begin(), v.end());
  44. ans=max-min+1;
  45. for(int i=M-1, j=v.size()-1; i>0 && j>=0; --i, --j) {
  46. ans-=v[j];
  47. }
  48. cout<<ans<<'\n';
  49. }
Success #stdin #stdout 0s 3436KB
stdin
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
stdout
25