# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
745248 | 2023-05-19T15:54:04 Z | Ahmed57 | Volontiranje (COCI21_volontiranje) | C++17 | 1 ms | 212 KB |
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; vector<pair<int,int>> v; for(int i = 0;i<n;i++){ int x;cin>>x; v.push_back({x,i}); } 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 = i-1;j>=0;j--){ if(ch[j])continue; if(v[i].first>v[j].first){ 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
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |