1480B - The Great Hero - CodeForces Solution


greedy implementation sortings *900

Please click on ads to support us..

Python Code:

import math
t = int(input())
for _ in range(t):
    A, B, n = map(int, input().split())
    attack = list(map(int, input().split()))
    hp = list(map(int, input().split()))
    
    sum_mh = 0
    for i in range(n):
        sum_mh += attack[i] * math.ceil(hp[i] / A)
    for i in range(n):
        if (B - sum_mh + attack[i]) > 0:
            print("YES")
            break
    else:
        print("NO")

C++ Code:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        int a,b,n;
        vector<pair<int,int>> vec;
        cin>>a>>b>>n;
        int power[n];
        int health[n];
        for(int i=0;i<n;i++)
        {cin>>power[i];
        }
        for(int i=0;i<n;i++)
        {cin>>health[i];
        }
        for(int i=0;i<n;i++)
        {
            vec.emplace_back(power[i],health[i]);
        }
        sort(vec.begin(),vec.end());
        //for(int i=0;i<n;i++)
            //cout<<vec[i].first<<" "<<vec[i].second<<endl;
            int j=0;
           while(b>0&&j!=n)
           {
               int c=vec[j].second/a;
               if(vec[j].second%a!=0)
                c=c+1;
                int k=b/vec[j].first;
                if(b%vec[j].first!=0)
                k=k+1;
                if(k<c)
                    break;
               b=b-c*vec[j].first;
               j++;
           }
           if(j==n)
            cout<<"YES\n";
            else
            cout<<"NO\n";
    }
}


Comments

Submit
0 Comments
More Questions

1302. Deepest Leaves Sum
1209. Remove All Adjacent Duplicates in String II
994. Rotting Oranges
983. Minimum Cost For Tickets
973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST