比赛 20200605 评测结果 AAAAAAAAAA
题目名称 低价购买 最终得分 100
用户昵称 ShallowDream雨梨 运行时间 0.281 s
代码语言 C++ 内存使用 13.77 MiB
提交时间 2020-06-05 20:29:40
显示代码纯文本
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int maxn=5005;
    const int inf=2e12;
    int a[maxn],f[maxn],g[maxn],ans,anss;
    signed main(){
     freopen("djgm.in","r",stdin);
     freopen("djgm.out","w",stdout);
    int n;
    cin>>n;
   	for(int i=1;i<=n;i++){
  	cin>>a[i];
	f[i]=g[i]=1;
	for(int j=1;j<i;j++){
    if(a[j]>a[i]){
   	if(f[i]<f[j]+1){
   	f[i]=f[j]+1;
    g[i]=g[j];}
	else if(f[i]==f[j]+1)
  	g[i]+=g[j];}
	else if(a[i]==a[j])g[i]=0;}
  	ans=max(ans,f[i]);
    }
    for(int i=1;i<=n;i++)
	if(f[i]==ans)anss+=g[i];
  	cout<<ans<<" "<<anss<<endl;
    return 0;
    }