⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3251126_ce.cpp

📁 部分PKU上的源码
💻 CPP
字号:
#include <iostream>
#include <string>
#include <stdlib.h>
#include <search.h>
using namespace std;
int re[2][102];
int n,k,t,i,j,mmm=0,T,m;
struct input
{int time,prosperity,stoutness;
 };
 input x[100];
 int max(int a,int b,int c)
 {return (a>b?a:b)>c?(a>b?a:b):c;}
 int compare(const void *a,const void *b)
 {  if ( ((input*)a)->time > ((input*)b)->time ) return 1;
    if ( ((input*)a)->time < ((input*)b)->time ) return -1;
  else return 0;
  }

int main ()
{memset(re,0,102*2);
 cin>>n>>k>>t;
for(i=0;i<n;i++) cin>>x[i].time;
for(i=0;i<n;i++) cin>>x[i].prosperity;
for(i=0;i<n;i++) cin>>x[i].stoutness;
qsort(x,n,sizeof(input),compare);
T=0;
for(i=1;i<=t;i++) 
{while(x[T].time==i) {re[1][x[T].stoutness]=x[T].prosperity;T++;}
 for(j=1;j<=k&&j<=i;j++) 
 {
  re[1][j]+=max(re[0][j-1],re[0][j],re[0][j+1]);
 }
  for(m=1;m<=k;m++) {re[0][m]=re[1][m];re[1][m]=0;}
} 
  
for(j=1;j<=k;j++) 
{if(re[0][j]>mmm) mmm= re[0][j];}
cout<<mmm;
return 1;
}
  


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -