답안 #347879

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
347879 2021-01-13T17:25:20 Z oleksg Rabbit Carrot (LMIO19_triusis) C++11
0 / 100
3 ms 364 KB
#pragma GCC optimize("O2")
#include <fstream>
#include <string>
#include <iostream>
#include <bitset>
#include <math.h>
#include <string>
#include <algorithm>
#include <assert.h>
#include<bits/stdc++.h>
#include <vector>
#include <queue>
#include<stdio.h>
#include<ctype.h>
#define ll long long
using namespace std;


ll n, m;
ll arr[200002];
vector<ll> dp;
int main(){
    cin >> n >> m;
    arr[0] = 0;
    for (int x = 0; x < n; x++){
        cin >> arr[x + 1];
    }
    reverse(arr, arr + (n + 1));
    ll answer = n;
    for (int x = 1; x <= n; x++){
        int pos = upper_bound(dp.begin(), dp.end(), arr[x] + m) - dp.begin();
        if (pos == 0){
            if (pos == dp.size()){
                dp.push_back(arr[x]);
            }
            else{
                dp[pos] = arr[x];
            }
        }
        else{
            if (dp[pos - 1] >= arr[x] - m){
                if (pos == dp.size()){
                    dp.push_back(arr[x]);
                }
                else{
                    dp[pos] = arr[x];
                }
            }
        }
        if (upper_bound(dp.begin(), dp.end(), m) != dp.begin()){
            pos = upper_bound(dp.begin(), dp.end(), m) - dp.begin();
            answer = min(answer, n - (pos + 1));
        }
    }
    cout << answer << "\n";

}

Compilation message

triusis.cpp: In function 'int main()':
triusis.cpp:33:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |             if (pos == dp.size()){
      |                 ~~~~^~~~~~~~~~~~
triusis.cpp:42:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |                 if (pos == dp.size()){
      |                     ~~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 0 ms 364 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -