제출 #1193176

#제출 시각아이디문제언어결과실행 시간메모리
1193176DobromirAngelovFinancial Report (JOI21_financial)C++20
12 / 100
298 ms31816 KiB
#include<bits/stdc++.h>
#define endl '\n'

using namespace std;

const int MAXN=3e5+5;

int n,d;
int a[MAXN];
set<int> s;
map<int,int> code;
deque<pair<int,int> > dq;

void compress()
{
    for(int i=1;i<=n;i++) s.insert(a[i]);
    int i=1;
    for(auto x: s)
    {
        code[x]=i;
        i++;
    }
    for(int i=1;i<=n;i++) a[i]=code[a[i]];
}

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

    cin>>n>>d;
    for(int i=1;i<=n;i++) cin>>a[i];

    compress();

    int ans=0;
    for(int i=n;i>=1;i--)
    {
        while(!dq.empty() && dq.front().first<=a[i]) dq.pop_front();
        int cur=0;
        if(dq.empty()) cur=1;
        else cur=dq.front().second+1;
        ans=max(ans, cur);
        dq.push_front({a[i],cur});
    }

    cout<<ans<<endl;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...