Submission #654182

#TimeUsernameProblemLanguageResultExecution timeMemory
654182Mohammad_ParsaFinancial Report (JOI21_financial)C++14
0 / 100
43 ms3544 KiB
#include<bits/stdc++.h>
using namespace std;

//#define int long long
#define ll long long
#define F first
#define S second
#define pb push_back

const int N=3e5+7;
int dp[N],v[N],a[N];
map<int,int> mp;
vector<int> vec;

int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,d;
    cin>>n>>d;
    for(int i=0;i<n;i++){
        cin>>a[i];vec.pb(a[i]);
    }
    sort(vec.begin(),vec.end());
    vec.resize(distance(vec.begin(),unique(vec.begin(),vec.end())));
    for(int i=0;i<vec.size();i++){
        v[i]=vec[i];
        mp[vec[i]]=i;
    }
    int ans=1;
    dp[1]=a[0];
    for(int i=1;i<n;i++){
        int l=1,r=ans+1;
        while(r-l>1){
            int m=(l+r)/2;
            if(dp[m]>=a[i]) r=m;
            else l=m;
        }
        dp[l+1]=a[i];
        if(l==ans) ans++;
    }

    cout<<ans;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:24:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int i=0;i<vec.size();i++){
      |                 ~^~~~~~~~~~~
#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...