350A - TL - CodeForces Solution


brute force greedy implementation *1200

Please click on ads to support us..

Python Code:

n, m = map(int,input().split(" "))
correct = list(map(int, input().split(" ")))
wrong = list(map(int, input().split(" ")))

min_possible_v = 2*(min(correct))
min_correct = max(correct)
max_possible = min(wrong)

if min_correct >= max_possible:
    print(-1)
else:
    if min_possible_v >= max_possible:
        print(-1)
    else:
        print(max(min_possible_v, min_correct))

C++ Code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define N 100001
        ll prime[N];
        vector<int>all_primes;
        ll prime_factors[N];
        void seive()
        {
            memset(prime,0,sizeof(prime));
            prime[0]=1;prime[1]=1;
            for(ll i=2;i*i<=N-1;i++)
            {
            if(prime[i]==0)
                {
                    for(ll j=i*i;j<N;j+=i)
                    {
                        prime[j]=1;
                    }
                }
            }
            for(int i=2;i<N;i++)
            {
                if(prime[i]==0)
                    all_primes.push_back(i);
            }
        }

        void spf()
        {
            for(ll i=1;i<N;i++)
            {
                prime_factors[i]=i;
            }

            for(ll i=2;i*i<=N-1;i++)
            {
                for(ll j=i*i;j<=N-1;j+=i)
                {
                    if(prime_factors[j]==j)
                        prime_factors[j]=i;
                }
            }
        }

int main()
{
    int n,m;
    cin>>n>>m;
    int a[n],b[m];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<m;i++)
    {
        cin>>b[i];
    }
    sort(a,a+n);
    sort(b,b+m);
    int ans=-1;
    if(n==1 && (a[0]*2)<b[0])
        ans=a[0]*2;
    else if(a[n-1]<b[0] && a[n-1]>=(2*a[0]))
        ans=a[n-1];
    else if((a[0]*2)>=a[n-1] && (a[0]*2)<b[0])
        ans=a[0]*2;

    cout<<ans;
}


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