Submission #1099311

#TimeUsernameProblemLanguageResultExecution timeMemory
1099311hegoplayRabbit Carrot (LMIO19_triusis)C++17
Compilation error
0 ms0 KiB
/* - += @@@@@% +@@@@@@+ %@@@@@#% @@@@@@@@=: +****************** =@@@@@@@@@% =***********#*******+ %@@@@@@@@@@@@@@@@@@@@= @@@@@@@@@@% #@@@@@@@@@@@@@@@@@@@@@@ +@@@@@@@@@@@@@@@@@@@@@+ +@@#@@@@@@@@% @@@@@@@@@@@@@@@@@@@@@@@= +@@@@% *@@%@@@@@@@@@= %@@@% @@@@@# *@@@@@@@@@@@@# #@@@@@ %@@@@% +@@@@@@@@@@@@% @@@@@@@@@@@@@@@@@@@@% #@@@@@ =#+@@@@@@@@#@% =@@@@@@@@@@@@@@@@@@@@* +@@@@@+ #@@@@@@% =@@@@@= =@@@@@* #@@@@@@# @@@@@* #@@@@@@@@@@@@@@@@@@@@@ +@@@@@@# *@@@@@@@@@@@@@@@@@@@@@@# +@@@@@@@@@@@@@@@@@@@@= %@@@@@% +@@@@@@@@@@@@@@@@@@@@@@+ +*#************##* =@@@@@#+ ###**##**#*******##*+ =@@@@@@% +** =+= Michael Jackson peeks */ #include <algorithm> #include <bits/stdc++.h> #include <climits> #include <cmath> #include <cstdio> #include <cstring> #include <ext/pb_ds/assoc_container.hpp> #include <map> #include <numeric> #include <queue> #include <set> #include <sstream> #include <stack> #include <string> #include <unordered_map> #include <unordered_set> #include <vector> // Including tree_order_statistics_node_update #include <ext/pb_ds/tree_policy.hpp> #define pb push_back #define inf 0x3f3f3f3f3f3f3f3f #define all(x) (x).begin(), (x).end() #define yes cout << "YES\n"; #define no cout << "NO\n"; #define sz(x) (int)(x).size() #define el "\n" typedef long long ll; typedef long double ld; #define int long long using namespace std; using namespace __gnu_pbds; #define indexed_set \ tree<int, null_type, less<int>, rb_tree_tag, \ tree_order_statistics_node_update> void setIO(string name = "") { if (sz(name)) { freopen((name + ".in").c_str(), "r", stdin); // see /general/input-output freopen((name + ".out").c_str(), "w", stdout); } } void solve() { int n; cin >> n; int m; cin >> m; vector<int> vt(n + 1); for (int i = 1; i <= n; i++) { cin >> vt[i]; } vt[0] = 0; set<int> s; map<int, pair<int, int>> mp; // tim // vi tri va so luong su thay doi can s.insert(0); mp[0] = {0, 0}; for (int i = 1; i < vt.size(); i++) { int &x = vt[i]; int val = x - m * i; if(val > 0){ continue; } auto it = s.lower_bound(val); auto cur = mp[*it]; if (s.contains(val) && mp[val].second < i - cur.first - 1 + cur.second){ continue; } else mp[val] = {i, i - cur.first - 1 + cur.second}; s.insert(val); } ll res = LLONG_MAX; for (auto x : mp) { res = min(res, n - x.second.first + x.second.second); } cout << res; } signed main() { // #ifndef ONLINE_JUDGE // freopen("input.txt", "r", stdin); // freopen("out.txt", "w", stdout); // #endif // setIO("cowjog"); ios ::sync_with_stdio(false); cin.tie(nullptr); ll t = 1; // cin >> t; while (t--) solve(); return 0; }

Compilation message (stderr)

triusis.cpp: In function 'void solve()':
triusis.cpp:91:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   91 |   for (int i = 1; i < vt.size(); i++) {
      |                   ~~^~~~~~~~~~~
triusis.cpp:100:11: error: 'class std::set<long long int>' has no member named 'contains'
  100 |     if (s.contains(val) && mp[val].second <  i - cur.first - 1 + cur.second){
      |           ^~~~~~~~
triusis.cpp: In function 'void setIO(std::string)':
triusis.cpp:70:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   70 |     freopen((name + ".in").c_str(), "r", stdin); // see /general/input-output
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
triusis.cpp:71:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   71 |     freopen((name + ".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~