greedy math sortings *1100

Please click on ads to support us..

Python Code:

from decimal import *
import math
rasp=''
c=int(input())
for i in range(0,c):
 n=int(input())
 
 lista=list(map(int,input().split()))
 poz=n
 cate_zero=0
 
 if n==1:
  print(1)
 else:
 
  lista.sort()
   
  dif_max=lista[1]-lista[0]
  for i in range(0,n):
   if i>1:
    dif_max=min(dif_max,lista[i]-lista[i-1])
   
   if lista[i]>0:
    poz=i+1
    break
   elif lista[i]==0:
    cate_zero+=1
   
  if poz-1<n:
   if lista[poz-1]>dif_max:
    poz-=1
  print(max(poz,1))  
 

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ll long long

int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n;
        cin >> n;
        int a[n];
        for (int i = 0; i < n; i++)
            cin >> a[i];

        sort(a, a + n);
        int count = 0, minDiff = INT_MAX;
        for (int i = 0; i < n; i++)
        {
            if (a[i] > 0)
            {
                if (a[i] > minDiff)
                    break;
                count++;
                break;
            }
            minDiff = min(minDiff, a[i + 1] - a[i]);
            count++;
        }
        cout << count << endl;
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

448A - Rewards
1622A - Construct a Rectangle
1620A - Equal or Not Equal
1517A - Sum of 2050
620A - Professor GukiZ's Robot
1342A - Road To Zero
1520A - Do Not Be Distracted
352A - Jeff and Digits
1327A - Sum of Odd Integers
1276A - As Simple as One and Two
812C - Sagheer and Nubian Market
272A - Dima and Friends
1352C - K-th Not Divisible by n
545C - Woodcutters
1528B - Kavi on Pairing Duty
339B - Xenia and Ringroad
189A - Cut Ribbon
1182A - Filling Shapes
82A - Double Cola
45A - Codecraft III
1242A - Tile Painting
1663E - Are You Safe
1663D - Is it rated - 3
1311A - Add Odd or Subtract Even
977F - Consecutive Subsequence
939A - Love Triangle
755A - PolandBall and Hypothesis
760B - Frodo and pillows
1006A - Adjacent Replacements
1195C - Basketball Exercise