Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
51521 AK2022071321 最优子序列 C++ 解答错误 0 0 MS 272 KB 1458 2022-07-13 11:50:23

Tests(0/20):


#include <bits/stdc++.h> using namespace std; string s; int n,k,t,mx=-1; bool b[3020],a=true; int main() { cin>>n>>k>>t; cin>>s; memset(b,true,sizeof(b)); int q=s.size(); for(int i=0; i<=s.size()-1; i++) { a=true; for(int j=i+1; j<=s.size(); j++) { if(s[i]==s[j]) { for(int p=i+1; p<j; p++) { if(s[p]==s[i]) { a=true; } else { a=false; } } } if(s[i]==s[j]) { /*if(j-i-1+o<=q-j+i+1 && o+j-i-1<=o+1) { y++; for(int p=i+1; p<j; p++) { b[p]=false; } q=q-j+i+1; o=j-i-1; } else { b[j]=false; q=q-1; o=o+1; } break;*/ for(int l=i+1; l<j; l++) { b[l]=false; } break; } else if(a==true) { q=j-i+1; if(q>=mx) { mx=q; } } } } int x=0; for(int i=0; i<=s.size()-1; i++) { if(b[i]==true) { x++; } } if(x>=mx) { mx=x; } if(t==0) { cout<<mx; } else { cout<<mx<<endl; for(int i=0; i<=s.size()-1; i++) { if(b[i]==true) { cout<<s[i]; } } } return 0; }


测评信息: