Submission #882292

#TimeUsernameProblemLanguageResultExecution timeMemory
882292proteam23Rabbit Carrot (LMIO19_triusis)C++14
100 / 100
24 ms6160 KiB
#include <iostream> #include <string> #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #include <set> #include <map> #include <deque> #include <stack> #include <queue> #include <algorithm> #include <cassert> #include <ctype.h> #include <math.h> #define int long long #define ii pair<int,int> #define fi first #define se second #define getbit(x,y) (((x)>>(y))&1) #define turnon(x,y) ((x)|(1<<y)) #define turnof(x,y) ((x)^(1<<y)) #define oo 1000000000000000000 #define pb push_back #define all(x) x.begin(),x.end() #define con(mask) mask=(mask-1)&mask #define Unique(val) val.erase(unique(val.begin(),val.end()),val.end()) const int mod=1e9+7; using namespace std; int n, m, res; int h[200005]; signed main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) { cin >> h[i]; } vector<int>f; f.pb(-oo); for(int i = 1; i <= n; i++) { if(h[i] <= i * m) { int tmp = i * m - h[i]; int pos = upper_bound(all(f), tmp) - f.begin(); if(pos == f.size()) f.pb(tmp); else f[pos] = tmp; res = max(res, pos); } } cout << n - res; } // ProTeam //(¯`·.·´¯) (¯`·.·´¯) //`·.¸(¯`·.·´¯)¸ .· //×°× ` ·.¸.·´ ×°×

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:55:20: 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]
   55 |             if(pos == f.size()) f.pb(tmp);
      |                ~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...