Submission #745250

#TimeUsernameProblemLanguageResultExecution timeMemory
745250Ahmed57Volontiranje (COCI21_volontiranje)C++17
50 / 110
1094 ms8512 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; vector<int> v; for(int i = 0;i<n;i++){ int x;cin>>x; v.push_back(x); } int be = 0, cnt = 0; vector<vector<int>> ans; bool ch[n] = {0}; while(1){ int dp[v.size()] = {0}; int pr[v.size()] = {0}; int all= -1 ,index = 0; for(int i=0 ;i<v.size();i++){ if(ch[i])continue; int ma = 0, ind =i; for(int j = 0;j<i;j++){ if(ch[j])continue; if(v[i]>v[j]){ if(ma<dp[j]){ ma=dp[j]; ind = j; } } } dp[i] = ma+1; pr[i] = ind; if(all<dp[i]){ all= dp[i]; index = i; } } if(all<be){ break; } cnt++; be = all; ans.push_back({}); while(pr[index]!=index){ ch[index]=1; ans.back().push_back(index); index= pr[index]; }ans.back().push_back(index); ch[index] = 1; } cout<<cnt<<" "<<be<<endl; for(auto i:ans){ reverse(i.begin(),i.end()); for(auto j:i){ cout<<j+1<<" "; } cout<<endl; } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:19:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         for(int i=0 ;i<v.size();i++){
      |                      ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...