Submission #1007344

#TimeUsernameProblemLanguageResultExecution timeMemory
1007344dimashirikRabbit Carrot (LMIO19_triusis)C++17
100 / 100
20 ms4824 KiB
#include <bits/stdc++.h> //#pragma gcc optimize("O3") using namespace std; using ll = long long; const ll INF = 1e9 / 2; const ll MOD = 1e9 + 7; const ll eps = 1e-7; template<typename W, typename T = typename enable_if<!is_same<W, string>::value, typename W::value_type>::type> ostream &operator<<(ostream &out, const W &v) { out << "{ "; for (const auto &x: v) out << x << ", "; return out << '}'; } template<class U, class V> ostream &operator<<(ostream &out, const pair<U, V> &a) { return out << "(" << a.first << ", " << a.second << ")"; } template<class U, class V> istream &operator>>(istream &in, pair<U, V> &a) { return in >> a.first >> a.second; } template<typename W, typename T = typename enable_if<!is_same<W, string>::value, typename W::value_type>::type> ifstream &operator>>(ifstream &out, const W &v) { for (const auto &x: v) out >> x << ", "; } long long max(long long a, long long b) { if (a < b) { return b; } return a; } long long min(long long a, long long b) { if (a < b) { return a; } return b; } void solve() { int n, m; cin >> n >> m; vector<int> v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } vector<int> b; for (int i = 0; i < n; i++) { if (m * (i + 1) - v[i] >= 0) { b.push_back(m * (i + 1) - v[i]); } } vector<int> dp(n + 1, INT32_MAX); dp[0] = INT32_MIN; for (int & i : b) { int ind = int(upper_bound(dp.begin(), dp.end(), i) - dp.begin()); dp[ind] = i; } int ans = 0; for (int i = 1; i < n + 1; i++) { if (dp[i] == INT32_MAX) break; ans = i; } cout << n - ans; } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); // freopen("snakes.in", "r", stdin); // freopen("snakes.out", "w", stdout); cout << std::fixed << std::setprecision(5); long long T = 1; // cin >> T; while (T--) { solve(); } return 0; }

Compilation message (stderr)

triusis.cpp: In function 'std::ifstream& operator>>(std::ifstream&, const W&)':
triusis.cpp:29:1: warning: no return statement in function returning non-void [-Wreturn-type]
   29 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...