1339C - Powered Addition - CodeForces Solution


bitmasks brute force greedy *1500

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#include <math.h>
using namespace std;
 
#define ll long long
#define lli long long int
#define f(i,n) for(int i=0;i<n;i++)
#define ri(i,n) for(int i=n-1;i>=0;i--)
#define fl(i,m,n) for(int i=m;i<=n;i++)
#define rl(i,m,n) for(int i=n;i>=m;i--)
#define pb  push_back
#define py cout<<"YES"
#define pn cout<<"NO"
 
const ll mod=1e9+7;
typedef vector<ll> vll;
 
void output(vector<int>arr, int n)
{
    f(i,n)
        std::cout << arr[i]<<" ";
    cout<< std::endl;
}
 
lli max(lli a, lli b)
{
    return a>b?a:b;
}
lli min(lli a, lli b)
{
    return a<b?a:b;
}
lli gcd(long long int a, long long int b)
{
    if(a%b==0)
        return b;
    else
        return gcd(b,a%b);
}
lli lcm(lli a,lli b){return (a/gcd(a,b)*b);}
 
int main() {
	// your code goes here
	int T;
	std::cin >> T;
	for(int ab=1;ab<=T;ab++)
	{
	    //------------------------------------------------------------------------

	    lli n;
	    std::cin >> n;
	    lli arr[n];
	    f(i,n)
	    {
	        std::cin >> arr[i];
	    }
	    if(n==1)
	    {
	        std::cout << 0 << std::endl;
	        continue;
	    }
	    lli maxi=arr[0],df=0;
	    f(i,n)
	    {
	        if(arr[i]>maxi)
	            maxi=arr[i];
	        else
	            df=max(df,maxi-arr[i]);
	    }
	    if(df==0)
	    {
	        std::cout << 0 << std::endl;
	        continue;
	    }
	    int ans=log2(df);
	    std::cout << ans+1 << std::endl;
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1529A - Eshag Loves Big Arrays
19. Remove Nth Node From End of List
925. Long Pressed Name
1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes
36. Valid Sudoku
557. Reverse Words in a String III
566. Reshape the Matrix
167. Two Sum II - Input array is sorted
387. First Unique Character in a String