1150A - Stock Arbitraging - CodeForces Solution


greedy implementation *800

Please click on ads to support us..

Python Code:

import sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

n, m, r = map(int, input().split())
s = list(map(int, input().split()))
b = list(map(int, input().split()))
mi = min(s)
c = r // mi
ans = max(r, r % mi + max(b) * c)
print(ans)

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define ll long long
#define vvi vector<vector<int>>
#define vi vector<int>
#define pb push_back


int main(){
    int n,m,r;
    cin>>n>>m>>r;
    int a[n];
    int b[m];
    for(int i=0;i<n;i++) cin>>a[i];
    for(int i=0;i<m;i++) cin>>b[i];

    int min = INT32_MAX;
    int max = INT32_MIN;

    for(int i=0;i<n;i++){
        if(a[i]<min) min = a[i];
    }
    for(int i=0;i<m;i++){
        if(b[i]>max) max = b[i];
    }
    if(max<=min){
        cout<<r<<endl;
    }else{
        int num = r/min;
        int diff = max-min;
        r+= num*diff;
        cout<<r<<endl;
    }

}


Comments

Submit
0 Comments
More Questions

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
445. Add Two Numbers II
442. Find All Duplicates in an Array
437. Path Sum III
436. Find Right Interval
435. Non-overlapping Intervals
406. Queue Reconstruction by Height
380. Insert Delete GetRandom O(1)
332. Reconstruct Itinerary
368. Largest Divisible Subset
377. Combination Sum IV
322. Coin Change
307. Range Sum Query - Mutable
287. Find the Duplicate Number
279. Perfect Squares
275. H-Index II
274. H-Index