题解
2023-08-01 19:31:48
发布于:上海
23阅读
0回复
0点赞
#include<iostream>
using namespace std;
bool prime(long long a){
bool t=1;
for(long long i=2;i<a/2+1;i++){
if(a%i==0){
t=0;
break;
}
}
return t;
}
int main(){
long long x,y,m;
cin>>x>>y>>m;
long long a[y-x+1]={};
int k=0;
for(long long i=x;i<y;i++){
if(prime(i)){
a[k]=i;
k++;
}
}
long long bag[m+1]={};
for(int i=0;i<k;i++){
for(int j=m;j>=a[i];j--){
bag[j]=max(bag[j],bag[j-a[i]]+a[i]);
}
}
cout<<bag[m];
return 0;
}
这里空空如也
有帮助,赞一个