PROBLEM LINK:
Contest Division 1
Contest Division 2
Contest Division 3
Contest Division 4
Setter: Hrishikesh
Tester: Harris Leung
Editorialist: Trung Dang
DIFFICULTY:
580
PREREQUISITES:
None
PROBLEM:
Chef is a beginner and should ideally try and solve only problems with difficulty rating strictly less than 1000. Given a list of difficulty ratings for problems in the Chef’s to-do list, please help him identify how many of those problems Chef should remove from his to-do list, so that he is only left with problems of difficulty rating less than 1000.
EXPLANATION:
We loop through the list of difficulty ratings and count the number of problems that are at least 1000 in rating.
TIME COMPLEXITY:
Time complexity is O(N) per test case.
SOLUTION:
Preparer's Solution
#include<iostream>
using namespace std;
int q,n,a;
int main()
{
cin>>q;
while(q--)
{
cin>>n;
int cnt = 0;
for(int i=1;i<=n;i++)
{
cin>>a;
if(a >= 1000)
cnt++;
}
cout<<cnt<<"\n";
}
}
Tester's Solution
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define fi first
#define se second
ll n;
void solve(int rr){
cin >> n;
int ans=0;
for(int i=1; i<=n ;i++){
int x;cin >> x;ans+=(x>=1000);
}
cout << ans << '\n';
}
int main(){
ios::sync_with_stdio(false);cin.tie(0);
int t;cin >> t;
for(int i=1; i<=t ;i++) solve(i);
}
Editorialist's Solution
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t; cin >> t;
while (t--) {
int n; cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cout << count_if(a.begin(), a.end(), [](int u) { return u >= 1000; }) << '\n';
}
}