fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. signed main()
  4. {
  5. int t;
  6. cin >> t;
  7. while (t--)
  8. {
  9. int n, k;
  10. cin >> n >> k;
  11. vector<int> arr(n);
  12. for (int i = 0; i < n; ++i)
  13. {
  14. cin >> arr[i];
  15. }
  16. vector<int> diffs(n - 1);
  17. for (int i = 1; i < n; ++i)
  18. {
  19. diffs[i - 1] = arr[i] - arr[i - 1];
  20. }
  21. vector<int> next(n - 1), prev(n - 1);
  22. for (int i = 0; i < n - 1; ++i)
  23. {
  24. next[i] = i + 1;
  25. prev[i] = i - 1;
  26. }
  27. next[n - 2] = -1;
  28. prev[0] = -1;
  29. set<pair<int, int>> s;
  30. for (int i = 0; i < n - 1; ++i)
  31. {
  32. s.insert({diffs[i], i});
  33. }
  34. int sol = 0;
  35. for (int i = 0; i < k; ++i)
  36. {
  37. auto it = s.begin();
  38. int pos = it->second;
  39. s.erase(it);
  40. int l = prev[pos];
  41. int r = next[pos];
  42. if (l != -1)
  43. {
  44. s.erase({diffs[l], l});
  45. }
  46. if (r != -1)
  47. {
  48. s.erase({diffs[r], r});
  49. }
  50. sol += diffs[pos];
  51. diffs[pos] = (l != -1 ? diffs[l] : 0) + (r != -1 ? diffs[r] : 0) - diffs[pos];
  52. if (l != -1 && r != -1)
  53. {
  54. s.insert({diffs[pos], pos});
  55. prev[pos] = prev[l];
  56. next[pos] = next[r];
  57. }
  58. else
  59. {
  60. pos = -1;
  61. }
  62. if (l != -1 && prev[l] != -1)
  63. {
  64. next[prev[l]] = pos;
  65. }
  66. if (r != -1 && next[r] != -1)
  67. {
  68. prev[next[r]] = pos;
  69. }
  70. }
  71. cout << sol << "\n";
  72. }
  73.  
  74. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
Main.java:1: error: class, interface, or enum expected
#include <bits/stdc++.h>
         ^
Main.java:3: error: class, interface, or enum expected
signed main()
^
Main.java:6: error: class, interface, or enum expected
    cin >> t;
    ^
Main.java:7: error: class, interface, or enum expected
    while (t--)
    ^
Main.java:10: error: class, interface, or enum expected
        cin >> n >> k;
        ^
Main.java:11: error: class, interface, or enum expected
        vector<int> arr(n);
        ^
Main.java:12: error: class, interface, or enum expected
        for (int i = 0; i < n; ++i)
        ^
Main.java:12: error: class, interface, or enum expected
        for (int i = 0; i < n; ++i)
                        ^
Main.java:12: error: class, interface, or enum expected
        for (int i = 0; i < n; ++i)
                               ^
Main.java:15: error: class, interface, or enum expected
        }
        ^
Main.java:17: error: class, interface, or enum expected
        for (int i = 1; i < n; ++i)
        ^
Main.java:17: error: class, interface, or enum expected
        for (int i = 1; i < n; ++i)
                        ^
Main.java:17: error: class, interface, or enum expected
        for (int i = 1; i < n; ++i)
                               ^
Main.java:20: error: class, interface, or enum expected
        }
        ^
Main.java:22: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
        ^
Main.java:22: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
                        ^
Main.java:22: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
                                   ^
Main.java:25: error: class, interface, or enum expected
            prev[i] = i - 1;
            ^
Main.java:26: error: class, interface, or enum expected
        }
        ^
Main.java:28: error: class, interface, or enum expected
        prev[0] = -1;
        ^
Main.java:29: error: class, interface, or enum expected
        set<pair<int, int>> s;
        ^
Main.java:30: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
        ^
Main.java:30: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
                        ^
Main.java:30: error: class, interface, or enum expected
        for (int i = 0; i < n - 1; ++i)
                                   ^
Main.java:33: error: class, interface, or enum expected
        }
        ^
Main.java:35: error: class, interface, or enum expected
        for (int i = 0; i < k; ++i)
        ^
Main.java:35: error: class, interface, or enum expected
        for (int i = 0; i < k; ++i)
                        ^
Main.java:35: error: class, interface, or enum expected
        for (int i = 0; i < k; ++i)
                               ^
Main.java:38: error: class, interface, or enum expected
            int pos = it->second;
            ^
Main.java:39: error: class, interface, or enum expected
            s.erase(it);
            ^
Main.java:40: error: class, interface, or enum expected
            int l = prev[pos];
            ^
Main.java:41: error: class, interface, or enum expected
            int r = next[pos];
            ^
Main.java:42: error: class, interface, or enum expected
            if (l != -1)
            ^
Main.java:45: error: class, interface, or enum expected
            }
            ^
Main.java:49: error: class, interface, or enum expected
            }
            ^
Main.java:51: error: class, interface, or enum expected
            diffs[pos] = (l != -1 ? diffs[l] : 0) + (r != -1 ? diffs[r] : 0) - diffs[pos];
            ^
Main.java:52: error: class, interface, or enum expected
            if (l != -1 && r != -1)
            ^
Main.java:55: error: class, interface, or enum expected
                prev[pos] = prev[l];
                ^
Main.java:56: error: class, interface, or enum expected
                next[pos] = next[r];
                ^
Main.java:57: error: class, interface, or enum expected
            }
            ^
Main.java:61: error: class, interface, or enum expected
            }
            ^
Main.java:65: error: class, interface, or enum expected
            }
            ^
Main.java:69: error: class, interface, or enum expected
            }
            ^
Main.java:72: error: class, interface, or enum expected
    }
    ^
45 errors
stdout
Standard output is empty