제출 #691806

#제출 시각아이디문제언어결과실행 시간메모리
691806tamyteRabbit Carrot (LMIO19_triusis)C++14
100 / 100
94 ms8356 KiB
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
typedef long long ll;
const int MAX = 1e6 + 5;

int lis(vector<ll>& arr) {
	vector<ll> dp;
	for (auto u : arr) {
		int i = upper_bound(dp.begin(), dp.end(), u) - dp.begin();
		if (i == dp.size()) dp.push_back(u);
		else dp[i] = u;
	}
	return dp.size();
}


int main()
{
	// ifstream cin("lmio_2012_3e1_makaronas_vyr.in");
	// ofstream cout("lmio_2012_3e1_makaronas_vyr.out");
	int n, m;
	cin >> n >> m;
	vector<ll> arr(n);
	for (int i = 0; i < n; ++i) {
		cin >> arr[i];
	}
	vector<ll> unchange;
	for (int i = 0; i < n; ++i) {
		int j = i + 1;
		if (m * j >= arr[i]) {
			unchange.push_back(m * j - arr[i]);
		}
	}
	cout << n - lis(unchange);
}

컴파일 시 표준 에러 (stderr) 메시지

triusis.cpp: In function 'int lis(std::vector<long long int>&)':
triusis.cpp:12:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |   if (i == dp.size()) dp.push_back(u);
      |       ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...