# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1274672 | sakka | Global Warming (CEOI18_glo) | C++20 | 34 ms | 3152 KiB |
#include<bits/stdc++.h>
#define ll long long
#define fi first
#define sec second
#define pb push_back
#define pint pair<long long, long long>
using namespace std;
void freop(){
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
}
const ll INF = 1e18, mod = 1e9+7;
ll n, x;
vector<ll>vec(2e5+2);
void solve(){
cin >> n >> x;
for(int i=1; i<=n; i++){
cin >> vec[i];
}
vector<ll> lis;
ll mxsz = 0;
ll idle, idri;
for(int i=1; i<=n; i++){
if(!lis.size()){
lis.pb(vec[i]);
}
else{
auto it = lower_bound(lis.begin(), lis.end(), vec[i]) - lis.begin();
if(it == lis.size()) lis.pb(vec[i]);
else lis[it] = vec[i];
}
if(lis.size() > mxsz){
mxsz = lis.size();
idle = i;
}
}
lis.clear(); mxsz = 0;
for(int i=n; i>idle; i--){
if(!lis.size()){
lis.pb(-vec[i]);
}
else{
auto it = lower_bound(lis.begin(), lis.end(), -vec[i]) - lis.begin();
if(it == lis.size()) lis.pb(-vec[i]);
else lis[it] = -vec[i];
}
if(lis.size() > mxsz){
mxsz = lis.size();
idri = i;
}
}
for(int i=1; i<=idle; i++){
vec[i] -= x;
}
mxsz = 0; lis.clear();
for(int i=1; i<=n; i++){
if(!lis.size()){
lis.pb(vec[i]);
}
else{
auto it = lower_bound(lis.begin(), lis.end(), vec[i]) - lis.begin();
if(it == lis.size()) lis.pb(vec[i]);
else lis[it] = vec[i];
}
if(lis.size() > mxsz){
mxsz = lis.size();
idle = i;
}
}
cout << mxsz << endl;
}
int main(){
ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
// freop();
solve();
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |