QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#273418#7880. Streak Manipulationucup-team1055#AC ✓169ms18492kbC++205.3kb2023-12-02 23:45:522023-12-02 23:45:53

Judging History

你现在查看的是最新测评结果

  • [2023-12-02 23:45:53]
  • 评测
  • 测评结果:AC
  • 用时:169ms
  • 内存:18492kb
  • [2023-12-02 23:45:52]
  • 提交

answer

#line 2 "/Users/noya2/Desktop/Noya2_library/template/template.hpp"
using namespace std;

#include<bits/stdc++.h>
#line 1 "/Users/noya2/Desktop/Noya2_library/template/inout_old.hpp"
namespace noya2 {

template <typename T, typename U>
ostream &operator<<(ostream &os, const pair<T, U> &p){
    os << p.first << " " << p.second;
    return os;
}
template <typename T, typename U>
istream &operator>>(istream &is, pair<T, U> &p){
    is >> p.first >> p.second;
    return is;
}

template <typename T>
ostream &operator<<(ostream &os, const vector<T> &v){
    int s = (int)v.size();
    for (int i = 0; i < s; i++) os << (i ? " " : "") << v[i];
    return os;
}
template <typename T>
istream &operator>>(istream &is, vector<T> &v){
    for (auto &x : v) is >> x;
    return is;
}

void in() {}
template <typename T, class... U>
void in(T &t, U &...u){
    cin >> t;
    in(u...);
}

void out() { cout << "\n"; }
template <typename T, class... U, char sep = ' '>
void out(const T &t, const U &...u){
    cout << t;
    if (sizeof...(u)) cout << sep;
    out(u...);
}

template<typename T>
void out(const vector<vector<T>> &vv){
    int s = (int)vv.size();
    for (int i = 0; i < s; i++) out(vv[i]);
}

struct IoSetup {
    IoSetup(){
        cin.tie(nullptr);
        ios::sync_with_stdio(false);
        cout << fixed << setprecision(15);
        cerr << fixed << setprecision(7);
    }
} iosetup_noya2;

} // namespace noya2
#line 1 "/Users/noya2/Desktop/Noya2_library/template/const.hpp"
namespace noya2{

const int iinf = 1'000'000'007;
const long long linf = 2'000'000'000'000'000'000LL;
const long long mod998 =  998244353;
const long long mod107 = 1000000007;
const long double pi = 3.14159265358979323;
const vector<int> dx = {0,1,0,-1,1,1,-1,-1};
const vector<int> dy = {1,0,-1,0,1,-1,-1,1};
const string ALP = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const string alp = "abcdefghijklmnopqrstuvwxyz";
const string NUM = "0123456789";

void yes(){ cout << "Yes\n"; }
void no(){ cout << "No\n"; }
void YES(){ cout << "YES\n"; }
void NO(){ cout << "NO\n"; }
void yn(bool t){ t ? yes() : no(); }
void YN(bool t){ t ? YES() : NO(); }

} // namespace noya2
#line 1 "/Users/noya2/Desktop/Noya2_library/template/utils.hpp"
namespace noya2{

unsigned long long inner_binary_gcd(unsigned long long a, unsigned long long b){
    if (a == 0 || b == 0) return a + b;
    int n = __builtin_ctzll(a); a >>= n;
    int m = __builtin_ctzll(b); b >>= m;
    while (a != b) {
        int mm = __builtin_ctzll(a - b);
        bool f = a > b;
        unsigned long long c = f ? a : b;
        b = f ? b : a;
        a = (c - b) >> mm;
    }
    return a << min(n, m);
}

template<typename T> T gcd_fast(T a, T b){ return static_cast<T>(inner_binary_gcd(abs(a),abs(b))); }

long long sqrt_fast(long long n) {
    if (n <= 0) return 0;
    long long x = sqrt(n);
    while ((x + 1) * (x + 1) <= n) x++;
    while (x * x > n) x--;
    return x;
}

template<typename T> T floor_div(const T n, const T d) {
    assert(d != 0);
    return n / d - static_cast<T>((n ^ d) < 0 && n % d != 0);
}

template<typename T> T ceil_div(const T n, const T d) {
    assert(d != 0);
    return n / d + static_cast<T>((n ^ d) >= 0 && n % d != 0);
}

template<typename T> void uniq(vector<T> &v){
    sort(v.begin(),v.end());
    v.erase(unique(v.begin(),v.end()),v.end());
}

template <typename T, typename U> inline bool chmin(T &x, U y) { return (y < x) ? (x = y, true) : false; }

template <typename T, typename U> inline bool chmax(T &x, U y) { return (x < y) ? (x = y, true) : false; }

template<typename T> inline bool range(T l, T x, T r){ return l <= x && x < r; }

} // namespace noya2
#line 8 "/Users/noya2/Desktop/Noya2_library/template/template.hpp"

#define rep(i,n) for (int i = 0; i < (int)(n); i++)
#define repp(i,m,n) for (int i = (m); i < (int)(n); i++)
#define reb(i,n) for (int i = (int)(n-1); i >= 0; i--)
#define all(v) (v).begin(),(v).end()

using ll = long long;
using ld = long double;
using uint = unsigned int;
using ull = unsigned long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
using pil = pair<int,ll>;
using pli = pair<ll,int>;

namespace noya2{

/* ~ (. _________ . /) */

}

using namespace noya2;


#line 2 "c.cpp"


void solve(){
    int n, m, k; in(n,m,k);
    string s; in(s);
    vector<int> rui(n+1,0);
    rep(i,n) rui[i+1] = rui[i] + (s[i] == '1' ? 1 : 0);
    auto get = [&](int l, int r){
        return rui[r] - rui[l];
    };
    int le = 0, ri = n+1;
    while (ri - le > 1){
        int md = (le + ri) / 2;
        vector<vector<int>> dp(n+1,vector<int>(2*k,iinf));
        dp[0][0] = 0;
        rep(i,n){
            for (int j = 0; j < 2*k; j += 2){
                chmin(dp[i+1][j],dp[i][j]);
                if (i + 1 - md >= 0){
                    chmin(dp[i+1][j+1],dp[i+1-md][j]+md-get(i+1-md,i+1));
                }
            }
            for (int j = 1; j < 2*k; j += 2){
                chmin(dp[i+1][j],dp[i][j]);
                if (s[i] == '0' && j < 2*k-1){
                    chmin(dp[i+1][j+1],dp[i][j]);
                }
            }
        }
        if (dp[n][2*k-1] <= m) le = md;
        else ri = md;
    }
    int ans = (le == 0 ? -1 : le);
    out(ans);
}

int main(){
    int t = 1; //in(t);
    while (t--) { solve(); }
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3664kb

input:

8 3 2
10110110

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

12 3 3
100100010011

output:

2

result:

ok 1 number(s): "2"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

4 4 4
0000

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3692kb

input:

1000 200 5
0001001000101001110010011001101010110101101100010100111110111111010010001100100111100101011100011101011001110010111100100100011001010011000100011111010110100001101110101001110000001000111010000111110100111101100110011010011111000111101001010011000111010111010100101111100000100001011001010...

output:

99

result:

ok 1 number(s): "99"

Test #5:

score: 0
Accepted
time: 1ms
memory: 3896kb

input:

1000 200 5
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

40

result:

ok 1 number(s): "40"

Test #6:

score: 0
Accepted
time: 1ms
memory: 3632kb

input:

1000 200 5
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

-1

result:

ok 1 number(s): "-1"

Test #7:

score: 0
Accepted
time: 127ms
memory: 15144kb

input:

200000 5 3
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

2

result:

ok 1 number(s): "2"

Test #8:

score: 0
Accepted
time: 120ms
memory: 15192kb

input:

200000 5 2
0001010000000000000000010011000001000000000000000001100000000001000000000000010011000010000000000110000010000010000100000000001001010000011000100000000001001000000000011110000100000011000000100110100110001011000000000000000000000000110001000000100000011100010011010001010010010100000000000...

output:

13

result:

ok 1 number(s): "13"

Test #9:

score: 0
Accepted
time: 160ms
memory: 18272kb

input:

200000 5 5
0001100001100000001011100010111101100100110001000011001011111101110100000000000111101001110100010101010100110100100011001100000010110111110010111011110100100101011001100101001010110100011101011001000101011110110010001011111101011101011010101101010001111110101001001110000000000010101001001...

output:

17

result:

ok 1 number(s): "17"

Test #10:

score: 0
Accepted
time: 131ms
memory: 18268kb

input:

200000 5 5
1011101011100110010111011011101110111111101111110111101111011110110111111101111011110101101110001100111110010101111011111101111111111111110110111111111011111111111111111111111111011100101111001110011100111100001111111111110101111011110010111001101111111111110110010101100111111111111111011...

output:

45

result:

ok 1 number(s): "45"

Test #11:

score: 0
Accepted
time: 136ms
memory: 18232kb

input:

200000 5 4
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

24879

result:

ok 1 number(s): "24879"

Test #12:

score: 0
Accepted
time: 131ms
memory: 18336kb

input:

200000 5 5
1010101010010101001010100101011010110010100101000010100101010101001010110101010101010101101010110101010101010101011001010101010101010101011001010101010100010101010010101000101001010101010110010101010110101101010111101010110101010101010010101010110111010010110111011010101010101110111001101...

output:

9

result:

ok 1 number(s): "9"

Test #13:

score: 0
Accepted
time: 103ms
memory: 15088kb

input:

200000 5 1
1001001011010101010101010101110101010100101001001010101101110101011010110101010110101010101011010101010101010010101010101000100110111110101101010101101011010101010101011010101010101010101010010101010101010110101001010101010101010110101010101010101011011010001010101011010101010101010101001...

output:

20

result:

ok 1 number(s): "20"

Test #14:

score: 0
Accepted
time: 124ms
memory: 18248kb

input:

200000 5 5
0001000000001111111100001000000000111100000111111100000000000011111000011110000000111001111100110000000000000000110000000000000000000011111111100000000111001111111111100000000011100000000010000111100111110000000111111110001111110111001100111111111001011111110111000111111111111111111111111...

output:

50

result:

ok 1 number(s): "50"

Test #15:

score: 0
Accepted
time: 120ms
memory: 18416kb

input:

200000 5 4
0111111111111111111101100000111111100101011111110000000111111110010011111111111101111111110000001001111111111111111110001111111111111111111111111111111111111111111101110110000000000111111111111001101111111111010000111111110000011000111100001111111110101111111101100000011101000111111111111...

output:

90

result:

ok 1 number(s): "90"

Test #16:

score: 0
Accepted
time: 137ms
memory: 18348kb

input:

200000 5 4
0000100000110000000111100000000000111111100011111110001001110000000000001000000001100000011110000000010000000000011110000111111111101110000000100000000111100000011000011111001001000000000011000100000000000000001110000001000010000000000011111000000000000000000100000000011000000000000000000...

output:

22

result:

ok 1 number(s): "22"

Test #17:

score: 0
Accepted
time: 120ms
memory: 15124kb

input:

200000 170 3
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

57

result:

ok 1 number(s): "57"

Test #18:

score: 0
Accepted
time: 139ms
memory: 15088kb

input:

200000 170 2
00000000000000011000001010110010100000001010100001010010100011010110101100010100100010000001010000010000001000001010111100000101000110010000000010100000000100100010000000000110001000000001000101000010100000000000010100101100100011000100100000000010000101001010000000010000110000000000000...

output:

143

result:

ok 1 number(s): "143"

Test #19:

score: 0
Accepted
time: 142ms
memory: 18408kb

input:

200000 170 5
00000000110010110001010110100010110110100111110011111010101001111011101011111011101010100000001100110100000011000110001100000111011111001011001101011111111011101010100111001100011010100100001100010000001010010101011100001010111100011100101110111001110101011011100011100010010011001000100...

output:

107

result:

ok 1 number(s): "107"

Test #20:

score: 0
Accepted
time: 139ms
memory: 18328kb

input:

200000 170 5
10110010111110111011101101110111110111111011111110011111010111111111010100111001010111111111111001111011011011111111101011111011111111111010111111100111001001111100010111111001111011111011101100101110010101111101101011111101110011111110010001111101101101011110110111011111101010010111111...

output:

225

result:

ok 1 number(s): "225"

Test #21:

score: 0
Accepted
time: 138ms
memory: 18412kb

input:

200000 170 4
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

44639

result:

ok 1 number(s): "44639"

Test #22:

score: 0
Accepted
time: 158ms
memory: 18352kb

input:

200000 170 5
10101011010101100101010101000101010110010101010010101001010101101001010110101001010010101010101010101011010101010010100101101110101010101001010101101100101010101101011010101010101010100110101110110101101100100101010101000110101010101001010101111010101010101000100101010101010101010101010...

output:

85

result:

ok 1 number(s): "85"

Test #23:

score: 0
Accepted
time: 87ms
memory: 15188kb

input:

200000 170 1
00101101010101011010101101010100100100110111110010100100110110101010100110101010011010101011101001101010101011101010010101010100101100101010110101001010101101101010101010001010010110100010110101010110101110101001010010010101101010100010101011001010101000010101110010110101010101101101010...

output:

371

result:

ok 1 number(s): "371"

Test #24:

score: 0
Accepted
time: 129ms
memory: 18304kb

input:

200000 170 5
00111111100111111100000000011100111000000001110000000000101111111110000111111000000001111111111111111100010000111000000001111101111110001111000001111100000000111111100011111111111111111111110110000000000111111111111111100000001111111111111110000111111011111000001111111111100001111111100...

output:

174

result:

ok 1 number(s): "174"

Test #25:

score: 0
Accepted
time: 131ms
memory: 18336kb

input:

200000 170 4
00100101111111111110000111111000001111111111111111111111001000011111111001110011111111111100001111111111111110111111111111111111111111011110001111100111111111111111111111111111011101111111111110011111111111111000011101111101101111100001111111111111111011110001111111111111001111111000001...

output:

342

result:

ok 1 number(s): "342"

Test #26:

score: 0
Accepted
time: 151ms
memory: 18340kb

input:

200000 170 4
00000111111111000000010000000000111000100110000000110000000000011000000111100000000110000000000000011100000000000111111100000010010000001000000000000000000000000000000000000000000011000110000000000000010000000000000000000000000000000000011100000000110000000000010000000000000000111111000...

output:

98

result:

ok 1 number(s): "98"

Test #27:

score: 0
Accepted
time: 107ms
memory: 15176kb

input:

200000 5780 3
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

1928

result:

ok 1 number(s): "1928"

Test #28:

score: 0
Accepted
time: 146ms
memory: 15248kb

input:

200000 5780 2
0000001000000000011010000000000000100110101010000011011010000000000100011001001001001010100010100001100100000000010010010000000000000001010001001000000011000001000110000000000001001000110110010100001001110010000000010010000100011000001010110000001001000001010001000000100011000000100000...

output:

3962

result:

ok 1 number(s): "3962"

Test #29:

score: 0
Accepted
time: 158ms
memory: 18260kb

input:

200000 5780 5
1110111001110010111101101000110001011010111111011011110101000101010001101110111111001100001011110010110000011011110100110100011001010110010011000011110101011101000111001111001000001001101001111001110000011001010001110101011000010101000011001011000010110010001001010111010111001001011101...

output:

2436

result:

ok 1 number(s): "2436"

Test #30:

score: 0
Accepted
time: 151ms
memory: 18296kb

input:

200000 5780 5
1101110011001101101110011100111101101111001011111101010101111100111010111111101111111101011110100111001111111110110111101100111111111111111111111011011111110101111111001111111110110111011111111111110001110101111110011111111100110010101111110111010111110110110110011101111110111101111111...

output:

4936

result:

ok 1 number(s): "4936"

Test #31:

score: 0
Accepted
time: 123ms
memory: 18340kb

input:

200000 5780 4
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

36897

result:

ok 1 number(s): "36897"

Test #32:

score: 0
Accepted
time: 135ms
memory: 18412kb

input:

200000 5780 5
1101011101010101010101010101010101011010101010101101010110101010110101010101101101010100111001010101010101000101010010100010100101010101010100101101010101011011001001101011011010101011001001001010110110101010101010100010110110100011010010101101010010101010101011010101010101010101011010...

output:

2372

result:

ok 1 number(s): "2372"

Test #33:

score: 0
Accepted
time: 104ms
memory: 15244kb

input:

200000 5780 1
1010101101010100111010101011110010110101010111010101010101010101101000101011001010110101011010101111101101000010100100101101010101001001010110010101001010011010101010101110101000110101010101010101011010100110101010100101010101101001011011010100100110100100101010101001010101010110101101...

output:

11661

result:

ok 1 number(s): "11661"

Test #34:

score: 0
Accepted
time: 169ms
memory: 18336kb

input:

200000 5780 5
0000111110001111111111111111111000000111111111100000000011111111111100011100011100000000000000000111000001111110000000111111110000000011100001111111111111100000000000000011100000001100011111011110100011111001111111110000000001111110011111111111111111001110000000000000000001000000000000...

output:

2622

result:

ok 1 number(s): "2622"

Test #35:

score: 0
Accepted
time: 138ms
memory: 18356kb

input:

200000 5780 4
1111111000100111111111111101001101111111111110111111100001101111100010101111110001111111111110011111111111111111110011111111100011110001111101111111111111111111111111111111111110011111111110000001100011111111111111111111111111111111101111111111111000001111111111111111110011011111110000...

output:

6266

result:

ok 1 number(s): "6266"

Test #36:

score: 0
Accepted
time: 138ms
memory: 18180kb

input:

200000 5780 4
0000000000010000101111110001000001111111000000001100000000101111111111011101111110011111000000000011110000000000000000001000110000000000000000000000000000111001111100000000000000100000010000000000001100000000001111111100000000000111100100000111000001100000000000010000000010000011110000...

output:

2083

result:

ok 1 number(s): "2083"

Test #37:

score: 0
Accepted
time: 124ms
memory: 15076kb

input:

200000 196520 3
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

65514

result:

ok 1 number(s): "65514"

Test #38:

score: 0
Accepted
time: 116ms
memory: 15084kb

input:

200000 196520 2
00101100000000000100000000110000000000000010110010000000100000001001001000000000000000010100101000000101000000100000000000001010100011000100000100000000000001001000000000011100010010001000001000100100000000000101000100001100000000000000110000000000000000010000000000100000000001101000...

output:

99999

result:

ok 1 number(s): "99999"

Test #39:

score: 0
Accepted
time: 143ms
memory: 18228kb

input:

200000 196520 5
01101011111001100101110100100001001101001111101101001000101011111100011000001100001001001101111001100000110100010001100110001001111010011110101010010000111101001000101110001111010010001110100101110100011001111110000111001011001101011000101010100101011001000111100001001101100010100101...

output:

39998

result:

ok 1 number(s): "39998"

Test #40:

score: 0
Accepted
time: 144ms
memory: 18492kb

input:

200000 196520 5
11111011110001111110111110110110011011111010011111010111001111101000101011111111101111110110111111111111111111001010111111000111111111110111101011111001101111110110001111101011101101110011110010111010110011110111111011011000010100111011101101110111111001000000110111111100011011001100...

output:

39998

result:

ok 1 number(s): "39998"

Test #41:

score: 0
Accepted
time: 125ms
memory: 18464kb

input:

200000 196520 4
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

41481

result:

ok 1 number(s): "41481"

Test #42:

score: 0
Accepted
time: 146ms
memory: 18260kb

input:

200000 196520 5
10101101101010110101011101010100101010101010100101010100110101010010101000101010101010101010110101010101001101010110101101010101010110101100010101010101010101010101010101011010010101010100100101010101001010101010100100111001101010101101010100101011101010101010101010101010101010101010...

output:

39998

result:

ok 1 number(s): "39998"

Test #43:

score: 0
Accepted
time: 106ms
memory: 15024kb

input:

200000 196520 1
01010010101010001101010101010101010101001010100110110101010101010010110100101010101101010101010101010011011101010100110101101011101010101101010110101001010101011101011010100101001010101011010101001101010110101011011010101010100101010101001010110101010101101010101010100101010101001010...

output:

200000

result:

ok 1 number(s): "200000"

Test #44:

score: 0
Accepted
time: 154ms
memory: 18412kb

input:

200000 196520 5
00001111101000111111011110011111100111000000000000000000111111000000000000011110000000000000000011111110000011100011000000000111001111111000000001001111010100001111111111111101111100000000000001100000000000111000011111111110001111111110000000000011100000000000100011111111110000001110...

output:

39995

result:

ok 1 number(s): "39995"

Test #45:

score: 0
Accepted
time: 119ms
memory: 18324kb

input:

200000 196520 4
01110000001001111111000000011001000000011111111111001100000001000000110000111111111111110011111111111000000000001111111111011111111111111111110011111111000001000011111111111111111011111100111101111111111111111111111111001111001011100111100111111111111110111001111100011111100001111111...

output:

49993

result:

ok 1 number(s): "49993"

Test #46:

score: 0
Accepted
time: 123ms
memory: 18316kb

input:

200000 196520 4
01000000001100000001100000000000000000011000001011110000000000001000000110000000000000000000000000000000000000000010000111111110000000011100000000000011000000000000001101100000000000000000000000000000000111110000000000000000000011111000000000110100000000111110000001111111111111000000...

output:

49998

result:

ok 1 number(s): "49998"

Extra Test:

score: 0
Extra Test Passed