Submission #1075349

#TimeUsernameProblemLanguageResultExecution timeMemory
1075349theehannRabbit Carrot (LMIO19_triusis)C++17
100 / 100
20 ms6676 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ft first
#define se second
#define NAME "A"
#define file freopen(NAME".INP","r",stdin); freopen(NAME".OUT","w",stdout);
#define sdf ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define el cout << "\n"
const int MOD = 1e9 + 7, N = 1e5 + 5;
int n, m;
int32_t main(){
	sdf
	
	cin >> n >> m;
	vector<int> a(n+1), b;
	for(int i = 1;i <= n;++i){
		cin >> a[i];
		if(a[i] <= m * i){
			b.push_back(m*i - a[i]);
		}
	}
	vector<int> ans;
	for(int i = 0;i < b.size();++i){
		int pos = upper_bound(ans.begin(), ans.end(), b[i]) - ans.begin();
		if(pos == ans.size()){
			ans.push_back(b[i]);
		}
		else{
			ans[pos] = b[i];
		}
	}
	cout << n - ans.size();
	return 0;
}

Compilation message (stderr)

triusis.cpp: In function 'int32_t main()':
triusis.cpp:24:18: 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]
   24 |  for(int i = 0;i < b.size();++i){
      |                ~~^~~~~~~~~~
triusis.cpp:26:10: 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]
   26 |   if(pos == ans.size()){
      |      ~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...