牛客网暑期ACM多校训练营(第二场)A run

通过画图可以发现,dp[i]可以从dp[i-1]走过来,或者dp[i-k]跑过来

因为不能连续跑,所以每次都要-1

前面几次都没有过,原因是忘记了取模!!!!!!!!(相加的时候取模,相间的时候就不必了,因为可能出现结果为负)

#include
using namespace std; 
typedef long long ll; 
#define  Max  int(1e5+10)
struct query
{
    ll l,r;
}q[Max];
ll sum[Max],dp[Max];
int main()
{
  ll p,k;
  while(~scanf("%lld%lld",&p,&k))
       {
          ll ma=0,x,y;
          for(int i=1;i<=p;i++)
             {
               scanf("%lld%lld",&x,&y);
               ma=max(ma,y);
               q[i].l=x;
               q[i].r=y;       
             }
            memset(dp,0,sizeof dp);
            memset(sum,0,sizeof sum);
          for(int i=1;i

 

你可能感兴趣的:(ACM)