Cod sursa(job #3317608)

Utilizator andrei_r4duAndrei Radu andrei_r4du Data 24 octombrie 2025 17:24:04
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include<bits/stdc++.h>
using namespace std;
int main(){
        ifstream f("scmax.in");
        ofstream g("scmax.out");
        int n;
        f>>n;
        vector <pair<int,int>> v(n);
        //vector <int>dp;
        for(int i=0; i<n; i++){
            f>>v[i].first;
            v[i].second=i;
            //dp[i]=1;
        }
        sort(v.begin(), v.end());
        queue<int>q;
        q.push(v[n-1].first);
        int cont=1, pp=0,a=0;
        for(int i=n-2; i>=0; i--){
            if(v[i].second>v[i-1].second){
            cont++;
            q.push(v[i].first);
            }
            if(v[i].second<v[i-1].second&&cont==1){
                pp=q.size();
                q.push(v[i].first);
                cont=1;
            }
        }
        g<<cont<<"\n";
        for(int i=0; i<q.size(); i++){
            if(i<pp){
                q.pop();
            } else{
                g << q.front()<<" ";
                q.pop();
            }
        }
    return 0;
}