Advertisement
a53

Ecluze

a53
Oct 11th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. # include <fstream>
  2. # include <algorithm>
  3. # define NM 100005
  4. # define inf 999999999
  5. using namespace std;
  6.  
  7. ifstream f("ecluze.in");
  8. ofstream g("ecluze.out");
  9.  
  10. int i, j, n, m;
  11. int Min[NM], last[NM], urm[NM], a[NM];
  12.  
  13. int main ()
  14. {
  15. f >> n;
  16. for (i=1; i<=n; ++i)
  17. {
  18. f >> a[i];
  19. Min[i] = inf;
  20. }
  21.  
  22. for (i=n; i>=1; --i)
  23. if (last[a[i]] == 0) last[a[i]] = i;
  24. else urm[i] = last[a[i]], last[a[i]] = i;
  25.  
  26. Min[1] = 0;
  27. for (i=1; i<=n; ++i)
  28. {
  29. if (i>1) Min[i] = min(Min[i], Min[i-1] + 1);
  30. if (urm[i]) Min[urm[i]] = min(Min[urm[i]], Min[i] + (urm[i] - i - 1));
  31. }
  32.  
  33. g << Min[n] << "\n";
  34.  
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement