为啥它搓了?
  • 板块P1833 樱花
  • 楼主Alea
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/10/2 23:14
  • 上次更新2023/11/4 05:05:30
查看原帖
为啥它搓了?
322792
Alea楼主2021/10/2 23:14
#include <iostream>
using namespace std;
int eraf(){
    #include <cstdio>
    int a,b,c,d;
    scanf("%d:%d %d:%d",&a,&b,&c,&d);
    b+=a*60,d+=c*60;
    return d-b;
}
int main(){
    int m,n,f[10001]={};
    m=eraf();
    cin>>n;
    for(int i=1;i<=n;i++){
        int t,c,p;
        cin>>t>>c>>p;
        if(p==0){
            for(int j=t;j<=m;j++){
                f[j]=max(f[j],f[j-t]+c);
            }
        }else if(p==1){
            for(int j=m;j>=t;j--){
                f[j]=max(f[j],f[j-t]+c);
            }
        }else{
            for(int d=0;d<=31;d++){
                if(p&(1<<d)){
                    int td=t*(1<<d),cd=c*(1<<d);
                    for(int j=m;j>=td;j--){
                        f[j]=max(f[j],f[j-td]+cd);
                    }
                }
            }
        }
    }
    cout<<f[m]<<endl;
    return 0;
}
2021/10/2 23:14
加载中...