/ SeriousOJ /

Record Detail

Compile Error

foo.cc: In function 'void solve()':
foo.cc:40:17: error: no matching function for call to 'min(long long unsigned int, long long int&)'
   40 |     ll run = min(1LL * a.size() - 1, k);
      |              ~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from foo.cc:1:
/usr/include/c++/13/bits/stl_algobase.h:233:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  233 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:233:5: note:   template argument deduction/substitution failed:
foo.cc:40:17: note:   deduced conflicting types for parameter 'const _Tp' ('long long unsigned int' and 'long long int')
   40 |     ll run = min(1LL * a.size() - 1, k);
      |              ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:281:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  281 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:281:5: note:   template argument deduction/substitution failed:
foo.cc:40:17: note:   deduced conflicting types for parameter 'const _Tp' ('long long unsigned int' and 'long long int')
   40 |     ll run = min(1LL * a.size() - 1, k);
      |              ~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/algorithm:61:
/usr/include/c++/13/bits/stl_algo.h:5775:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(initializer_list<_Tp>)'
 5775 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5775:5: note:   template argument deduction/substitution failed:
foo.cc:40:17: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long unsigned int'
   40 |     ll run = min(1LL * a.size() - 1, k);
      |              ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(initializer_list<_Tp>, _Compare)'
 5785 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algo.h:5785:5: note:   template argument deduction/substitution failed:
foo.cc:40:17: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long unsigned int'
   40 |     ll run = min(1LL * a.size() - 1, k);
      |              ~~~^~~~~~~~~~~~~~~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define ll long long
#define ld long double
#define ull unsigned long long
#define lcm(a,b) ((a*b)/__gcd(a,b))
const double PI = 2 * acos(0.0);
const int MOD = 1000000007;

void solve(){
    ll n, k;
    cin >> n >> k;
    string s; cin >> s;

    vector <ll> a;
    int x = 0;
    for (int i = 0; i < n; i++){
        if (s[i] == '1'){
            x++;
        }
        else if (x){
            a.push_back(x);
            x = 0;
        }
    }
    if (s[n-1] == '1')
        a.push_back(x);

    if (k == 0){
        int ans = *max_element(a.begin(), a.end()); 
        cout << ans <<endl;
        return;
    }
    
    sort(a.rbegin(), a.rend());
    // for (auto &i : a) cout << i << ' ';
    // cout << endl;
    ll cnt = 0;
    ll run = min(1LL * a.size() - 1, k);

    for (ll i = 0; i <= run; i++){
        cnt += a[i];
    }
    cout << cnt << endl;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int t;
    cin >> t;

    while(t--){
        solve();
    }    
}

Information

Submit By
Type
Submission
Problem
P1159 Binary String
Contest
Brain Booster #8
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 15:17:25
Judged At
2025-02-17 15:17:25
Judged By
Score
0
Total Time
0ms
Peak Memory
0 Bytes