1 条题解

  • -8
    @ 2023-11-4 14:51:15
    #include<bits/stdc++.h>
    #define int long long
    #define N 100000+5
    using namespace std;
    struct node{
    	int atk,hp;
    	int htk;
    };
    bool cmp(node a,node b){
    	return a.htk>b.htk;
    }
    node a[N];
    int s[N],c[N];
    main(){
    	int n,atk,hp;
    	cin>>n;
    	cin>>atk>>hp;
    	for(int i=1;i<=n;i++){
    		cin>>a[i].atk>>a[i].hp;
    	}
    	sort(a+1,a+n+1,cmp);
    	for(int i=1;i<=n;i++){
    		if(a[i].hp%atk==0)a[i].htk=a[i].hp/atk*a[i].atk;
    		else a[i].htk=(a[i].hp/atk+1)*a[i].atk;
    		s[i]=s[i-1]+a[i].htk;
    		c[i]=c[i-1]+s[i];
    		//cout<<c[i]<<endl;
    		if(c[i]>=hp){
    			cout<<i<<endl;
    			return 0;
    		}
    	}
    	cout<<"Fail";
    	return 0;
    }
    
    
    • 1

    [CZOI2020 / WJOI2020 小学组 E] 勇士斗恶龙

    信息

    ID
    449
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    203
    已通过
    29
    上传者