Comments
0

Thank you. I didn't realized, my bad

0

why am i getting TLE in C? I need help pls

#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
 
using namespace std;
int N = 200002;
 
void solve();
 
int main()
{
    IOS

    int t;
    cin >> t;
 
    while(t--)
    {
        solve();
    }

    return 0;
}
 
void solve()
{
    int n, k;
    cin >> n >> k;
 
    vector<int> numbers(n);
    vector<int> counter(N, 0);
 
    for(auto& num: numbers)
    {
        int temp;
        cin >> temp;
        counter[temp] += 1;
        
        num = temp;
    }
 
    int result = 0;
 
    for(int i = 0; i < n; i++)
    {
        if(counter[numbers[i]] > 0 && counter[abs(numbers[i] - k)] > 0 && numbers[i] == abs(numbers[i] - k))
        {
            result += counter[numbers[i]] / 2;
            counter[numbers[i]] = 0;
            counter[abs(numbers[i] - k)] = 0;
        }
        else if(counter[numbers[i]] > 0 && counter[abs(numbers[i] - k)] > 0)
        {
            
            result += min(counter[numbers[i]], counter[abs(numbers[i] - k)]);
            counter[numbers[i]] = 0;
            counter[abs(numbers[i] - k)] = 0;
        }
    }
    
    cout << result << endl;
}