赞
踩
https://pintia.cn/problem-sets/1449304600741462016/problems/1449304670132027392
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef pair<int,int> PII;
- const int N=1e5+5;
- ll w[5];
- ll solve(){
- ll a,b,c,ta,tb,tc;cin>>a>>b>>c>>ta>>tb>>tc;
- w[0]=a-ta;w[1]=b-tb;w[2]=c-tc;
- if(w[0]+w[1]+w[2]!=0) return -1;
- if(w[0]%20!=0||w[1]%20!=0||w[2]%20!=0) return -1;
- w[0]/=20;w[1]/=20;w[2]/=20;
- int mod=(w[0]%3+3)%3;
- for(int i=0;i<3;i++)
- if((w[i]%3+3)%3!=mod) return -1;
- int f=0;
- for(int i=0;i<3;i++) if(w[i]>0) f++;
- if(f>1) for(int i=0;i<3;i++) w[i]=-w[i];
- // - - + 的形式
- sort(w,w+3);
- int cnt=0;
- cnt+=-w[1];
- w[2]-=cnt*2;
- //+2 -1 -1 和 +1 +1 -2
- //组合出 +3 0 +3
- cnt+=w[2]/3*2;
- return cnt;
- }
- int main(){
-
- int t;cin>>t;
- while(t--){
- ll res=solve();
- cout<<((res==-1)?-1:res)<<endl;
- }
-
- }
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef pair<int,int> PII;
- const int N=1e3+5,M=3e4;
- int n,m;
- int w[N],v[N];
- int f[M+5];
- int res;
- int main(){
- cin>>n>>m;
- memset(f,0x3f,sizeof f);
- f[0]=0;
- for(int i=1;i<=n;i++) cin>>w[i];//时间
- for(int i=1;i<=n;i++) cin>>v[i];//奖励
- for(int i=1;i<=n;i++)
- for(int j=M;j>=v[i];j--)
- f[j]=min(f[j],f[j-v[i]]+w[i]);
- for(int i=0;i<=M;i++)
- if(f[i]<=m) res=i;
- cout<<res;
- }
后面不会了。。随缘补吧
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。