rnqoj-15-采药--压缩区间

2014-11-23 22:53:59 · 作者: · 浏览: 2
当s==t的时候,比较容易求。
当s
这样dp求解就可以了
还有,一定要注意,石子不一定是有序的,在这里卡了很久, ~~~
#include  
#include  
#include  
#include  
using namespace std;  
int l,s,t,m,ans;  
int a[151];  
int b[151];  
int dp[210000];  
void dos()  
{  
    int i,j,k;  
    sort(a+1,a+m+1);  
    for(i=1;i<=m;i++)  
    {  
        b[i]=b[i-1]+min(a[i]-a[i-1],150);  
    }  
    for(i=0;i
m)dp[i+j]=min(dp[i+j],dp[i]); } } ans=151; for(i=b[m]+1;i>l; cin>>s>>t>>m; for(i=1;i<=m;i++) { cin>>a[i]; } ans=0; if(s==t) { for(i=1;i<=m;i++) { if(a[i]%s==0)ans++; } cout<