求问不同起点的结果为什么不同?
  • 板块CF455A Boredom
  • 楼主Cure_Wing
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/2/13 15:43
  • 上次更新2023/10/28 08:39:40
查看原帖
求问不同起点的结果为什么不同?
394167
Cure_Wing楼主2022/2/13 15:43
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a,mm=0x3f3f3f3f,mn,p[111111],f[111111];
int main(){
	scanf("%lld",&n);
	for(int i=1;i<=n;++i){
		scanf("%lld",&a);
		++p[a];
		mm=min(a,mm),mn=max(a,mn);
	}
	f[1]=p[1];
	for(int i=2/*max(mm,(ll)2)*/;i<=mn;++i)
		f[i]=max(f[i-1],f[i-2]+i*p[i]),printf("%lld ",f[i]);//写2AC,写注释里的WA,这是为什么?
	printf("%lld\n",f[mn]);
	return 0; 
}
2022/2/13 15:43
加载中...