题解 CF1215A 【Yellow Cards】
来个笨方法。
根据k1和k2分类讨论。
#include <bits/stdc++.h>
using namespace std;
int a1,a2,k1,k2,n;
int main(){
scanf("%d%d%d%d%d",&a1,&a2,&k1,&k2,&n);
int use=a1*(k1-1)+a2*(k2-1);//可以消耗的黄牌
if(use>=n)cout<<0<<" ";
else cout<<n-use<<" ";
if(k1>k2){//1队的k比2队小
swap(a1,a2);
swap(k1,k2);
}
int killed=0;//最大踢人数
int p=0;
//1:整死了1队 2:整死了2队 :3:整死了1、2队
if(n>=a1*k1){//先把1队整死
killed+=a1;
n-=a1*k1;
p=1;
}
if(n>=a2*k2){//再把2队整死
killed+=a2;
n-=a2*k2;
if(p==0)p=2;
else p=3;
}
if(p==0||p==2){//1队还没整 :整1队
killed+=n/k1;
n%=k1;
}
if(p==0||p==1){//2队还没整 :整2队
killed+=n/k2;
n%=k2;
}
cout<<killed<<endl;
return 0;
}