답안 #1103981

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1103981 2024-10-22T14:07:33 Z vjudge1 Global Warming (CEOI18_glo) C++11
10 / 100
35 ms 6260 KB
/*
	* AUTHOR : lo0ker
	* Problem : Global warming
	* source : 
*/

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
#define pb push_back
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()

const int MOD = 1e9+7;

int main(){
  ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	int n;
  ll x;
  cin >> n >> x;
  vector<ll> v(n);
  vector<ll> revv(n);
  for(int i = 0; i < n; i++){
    cin >> v[i];
    revv[i] = 0-v[i];
  }

  vi pre(n, 0);
  vi suff(n, 0);

  vector<ll> temp;
  temp.push_back(v[0]);
  pre[0] = 1;
  for(int i = 1; i < n; i++){
    if(v[i] > temp.back()){
      temp.push_back(v[i]);
    }
    else{
      int idx = lower_bound(temp.begin(), temp.end(), v[i]) - temp.begin();
      temp[idx] = v[i];
    }
    pre[i] = temp.size();
  }

  temp.clear();
  suff[n-1] = 1;
  for(int i = n-1; i >= 0; i--){
    if(revv[i] > temp.back()){
      temp.push_back(revv[i]);
    }
    else{
      int idx = lower_bound(temp.begin(), temp.end(), revv[i]) - temp.begin();
      temp[idx] = revv[i];
    }
    suff[i] = temp.size();
  }

  int ans = pre[n-1];
  for(int i = 0; i < n-1; i++){
    if(abs(v[i] - v[i+1]) < x){
      ans = max(ans, pre[i] + suff[i+1]);
    }
  }

  cout << ans;
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 29 ms 4944 KB Output is correct
2 Correct 30 ms 4944 KB Output is correct
3 Correct 35 ms 4944 KB Output is correct
4 Correct 27 ms 4944 KB Output is correct
5 Correct 20 ms 6260 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 1616 KB Output is correct
2 Correct 7 ms 1616 KB Output is correct
3 Correct 7 ms 1616 KB Output is correct
4 Incorrect 5 ms 1872 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 2640 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Output isn't correct
2 Halted 0 ms 0 KB -