func_code_string: #include <bits/stdc++.h>   using namespace std;   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long n, k;     cin >> n >> k;     vector<long long> arr(n, 0);     for (long long i = 0; i < n; i++) cin >> arr[i];     queue<pair<pair<long long, long long>, long long> > q;     for (long long i = 0; i < min(n, k); i++)       q.push(make_pair(make_pair(arr[i], arr[i]), i));     long long ind = k;     long long ans = 0;     long long per = 0;     long long tim = 0;     long long comp = 0;     set<long long> s;     while (ind < n) {       tim++;       queue<pair<pair<long long, long long>, long long> > temp;       long long fl1 = 0;       long long comp1 = 0;       while (!q.empty()) {         long long z = q.front().first.first;         long long z1 = q.front().first.second;         long long a = q.front().second;         q.pop();         z--;         if (z == 0) {           fl1 = 1;           comp++;         } else           temp.push(make_pair(make_pair(z, z1), a));       }       long double y1 = (100 * (comp / (n * 1.0)));       long long y = floor(y1 + 0.5);       long long fl = 0;       while (temp.size() < k && ind < n) {         temp.push(make_pair(make_pair(arr[ind], arr[ind]), ind));         ind++;       }       while (!temp.empty()) {         long long z = temp.front().first.first;         long long z1 = temp.front().first.second;         long long a1 = temp.front().second;         temp.pop();         long long a = z1 - z + 1;         if (a == y && s.find(a1) == s.end()) {           fl++;           s.insert(a1);         }         q.push(make_pair(make_pair(z, z1), a1));       }       if (fl != 0) {         ans += fl;       }     }     long long z = 1;     while (!q.empty()) {       tim++;       queue<pair<pair<long long, long long>, long long> > temp;       long long fl1 = 0;       long long comp1 = 0;       while (!q.empty()) {         long long z = q.front().first.first;         long long z1 = q.front().first.second;         long long a1 = q.front().second;         z--;         if (z == 0) {           fl1 = 1;           comp++;         } else           temp.push(make_pair(make_pair(z, z1), a1));         q.pop();       }       long double y1 = (100 * (comp / (n * 1.0)));       long long y = floor(y1 + 0.5);       long long fl = 0;       while (!temp.empty()) {         long long z = temp.front().first.first;         long long z1 = temp.front().first.second;         long long a1 = temp.front().second;         long long a = z1 - z + 1;         if (a == y && s.find(a1) == s.end()) {           fl++;           s.insert(a1);         }         q.push(make_pair(make_pair(z, z1), a1));         temp.pop();       }       if (fl != 0) {         ans = ans + fl;       }     }     cout << ans <<   n ;     return 0;   }   