1690B - Array Decrements - CodeForces Solution


greedy implementation *800

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    n = int(input())
    A = list(map(int,input().split()))
    B = list(map(int,input().split()))
    for i in range(n):
        if B[i]!=0:
            diff = A[i]-B[i]
            break
    else:
        print("YES")
        continue
    if diff<0:
        print("NO")
        continue
    for j in range(n):
        if B[j]!=0:
            if A[j]-B[j] != diff:
                print("NO")
                break
        else:
            if A[j]>diff:
                print("NO")
                break
    else:
        print("YES")

C++ Code:

#include <bits/stdc++.h>
#define dd  cout<<  fixed << setprecision(15)
#define int long long
#define sz(x) ((int)(x.size()))
#define all(x) x.begin(),x.end()
#define no cout << "NO\n";
#define yes cout << "YES\n";
#define T int t;cin>>t;while(t--)
#define PP cout<<

using namespace std;
const int N=99999+5;
int  a[N];
int b[N];
set<int>s;
vector<pair < int , int > >v;
pair<int ,int > p[1000];
int32_t main()
{
    T
    {
        int n;
        cin>>n;
        for(int i=0;i<n;i++)cin>>a[i];
         for(int i=0;i<n;i++)cin>>b[i];
         int f=0;
         int x=0;
          for(int i=0;i<n;i++)
          {
              if(a[i]<b[i])
              {
                  f=1;
                  break;
              }
              x=max(x,a[i]-b[i]);
          }
          if(f)
              cout<<"NO\n";
        else
        {
            for(int i=0;i<n;i++)
            {
                if(b[i]==0)
                {
                    continue;
                }
                else
                {
                    if(a[i]-b[i]!=x)
                    {
                        f=1;
                        break;
                    }
                }
            }
            if(f)
                cout<<"NO\n";
            else
            cout<<"YES\n";

    }
    }
return 0;
}


Comments

Submit
0 Comments
More Questions

996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array
461. Hamming Distance
1748. Sum of Unique Elements
897. Increasing Order Search Tree
905. Sort Array By Parity
1351. Count Negative Numbers in a Sorted Matrix
617. Merge Two Binary Trees
1450. Number of Students Doing Homework at a Given Time
700. Search in a Binary Search Tree
590. N-ary Tree Postorder Traversal
589. N-ary Tree Preorder Traversal
1299. Replace Elements with Greatest Element on Right Side
1768. Merge Strings Alternately
561. Array Partition I
1374. Generate a String With Characters That Have Odd Counts
1822. Sign of the Product of an Array
1464. Maximum Product of Two Elements in an Array