Сравнение значений двух массивов и подсчет того, сколько значений в массиве 2 меньше, чем массив1 , я использовал вложенный для l oop, но это дает O (n ^ 2) сложность времени, которая неэффективна. Ниже мой код: -
#include<bits/stdc++.h>
#define fo(i, num) for (long long int i = 1; i <= num; i++)
#define foo(i,arr2) for(long long int i = 0; i < arr2.size(); i++)
#define fooo(j,arr1)for(long long int j = 0; j < arr1.size(); j++)
// now take input by yourself
fo(i,num)
//take input of array 1
fo(i,num)
//take input of array 2
//then sort both arrays
for(long long int i = 0; i < arr2.size(); i++)
for(long long int j = 0; j < arr1.size(); j++){
if(arr2[i] < arr1[j]){
arr1.erase(arr1.begin()+j);
count++;
break;
}}}printf("%lli",count);
По этому коду мой код успешно работает, но я получаю TLE на некоторых входах.
** Может кто-нибудь помочь мне, составив эффективный код сложности O (n)? **
`