QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#117707#6628. Flip it and Stick itsomethingnew#13 4ms4516kbC++234.2kb2023-07-02 00:02:522024-05-31 18:47:04

Judging History

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

  • [2024-05-31 18:47:04]
  • 评测
  • 测评结果:13
  • 用时:4ms
  • 内存:4516kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-02 00:02:52]
  • 提交

answer

//  ↘ ⬇ ⬇ ⬇ ⬇ ⬇ ↙
//  ➡ @roadfromroi ⬅
//  ↗ ⬆ ⬆ ⬆ ⬆ ⬆ ↖
#include <iostream>
#include "vector"
#include "algorithm"
#include "numeric"
#include "climits"
#include "iomanip"
#include "bitset"
#include "cmath"
#include "map"
#include "deque"
#include "array"
#include "set"
#define all(x) x.begin(), x.end()
using namespace std;
int get0(string s) {
    for (auto i : s) {
        if (i == '0')
            return -1;
    }
    return 0;
}
int get00(string s) {
    vector<int> ema;
    int cr = 0;
    for (auto i : s) {
        if (i == '1') {
            ema.push_back(cr);
            cr = 0;
        } else {
            cr++;
        }
    }
    ema.push_back(cr);
    sort(all(ema));
    int sm = 0;
    for (auto i : ema)
        sm += i;
    if (ema.size() < sm)
        return -1;
    int res = 0;
    for (auto i : ema) {
        if (i > 1)
            res += i - 1;
    }
    return res;
}
int get01(string s) {
    char prv = '?';
    int res = 0;
    for (auto i : s) {
        if (i == prv)
            continue;
        if (prv != '?' and i == '1')
            res++;
        prv = i;
    }
    return res;
}
int get010(string s) {
    int res = 0;
    string s2;
    for (auto i : s) {
        if (s2.empty())
            s2 += i;
        else if (s2.back() != '0' or i != '0')
            s2 += i;
    }
    s = s2;
    for (int i = 1; i + 1 < s.size(); ++i) {
        if (s[i-1] == '0' and s[i] == '1' and s[i + 1] == '0') {
            res++;
            if (i - 2 >= 1 and s[i - 2] == '1' and s[i-3] == '0') {
                s[i-1] = '1';
                s[i] = '0';
                res--;
            }
        }
    }
    //cout << s << '\n';
    return res;
}
int get001(string s) {
    char prv = '?';
    int res = 0;
    while (!s.empty() and s.back() == '0')
        s.pop_back();
    reverse(all(s));
    int cn = 0;
    for (auto i : s) {
        if (i == prv) {
            cn++;
            continue;
        }
        if (prv == '0' and cn >= 2)
            res++;
        prv = i;
        cn = 1;
    }
    if (prv == '0' and cn >= 2)
        res++;
    return res;
}
int get000(string s) {
    vector<int> ema;
    int cr = 0;
    for (auto i : s) {
        if (i == '1') {
            ema.push_back(cr);
            cr = 0;
        } else {
            cr++;
        }
    }
    ema.push_back(cr);
    sort(all(ema));
    int sm = 0;
    for (auto i : ema)
        sm += i;
    if (ema.size() * 2 < sm)
        return -1;
    vector<int> ema2;
    vector<int> cnt(3);
    int res = 0;
    for (int i = 0; i < ema.size(); ++i) {
        if (ema[i] > 2)
            ema2.push_back(ema[i]-2);
        else {
            cnt[ema[i]]++;
        }
    }
    for (auto &i : ema2) {
        while (i > 0 and cnt[2]) {
            cnt[2]--;
            i -= 2;
            res++;
        }
    }
    for (auto &i : ema2) {
        while (i > 0 and cnt[2]) {
            cnt[2]--;
            cnt[1]++;
            i -= 1;
            res++;
        }
        while (i > 0 and cnt[1]) {
            cnt[1]--;
            i -= 1;
            res++;
        }
    }
    return res;
}
void solve() {
    string s, t;
    cin >> s >> t;
    int cn = 0;
    for (auto i : t) {
        if (i == '0')
            cn++;
        else
            cn--;
    }
    if (cn < 0) {
        for (auto &i : t) {
            i = '1' - i + '0';
        }
        for (auto &i : s) {
            i = '1' - i + '0';
        }
    }
    if (t[0] != '0') {
        reverse(all(t));
        reverse(all(s));
    }
    //cout << s << '\n' << t << '\n';
    if (t == "0") {
        cout << get0(s) << '\n';
    }
    if (t == "00") {
        cout << get00(s) << '\n';
    }
    if (t == "01") {
        cout << get01(s) << '\n';
    }
    if (t == "000") {
        cout << get000(s) << '\n';
    }
    if (t == "001") {
        cout << get001(s) << '\n';
    }
    if (t == "010") {
        cout << get010(s) << '\n';
    }
}
signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    int t = 1;
    while (t--) {
        solve();
    }
}

详细

Subtask #1:

score: 1
Accepted

Test #1:

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

input:

1
0

output:

0

result:

ok 1 number(s): "0"

Test #2:

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

input:

1
1

output:

-1

result:

ok 1 number(s): "-1"

Test #3:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

0

result:

ok 1 number(s): "0"

Test #5:

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

input:

101001000011101010101001001010010110111111001100110001111101111110110110101011111010001101111001101101010111101100000110001110001100000101111100000110111110001010101101101110001000011010000101000110110010110110100001110001111001010000000010000000101000000100110011101110100111111101111111111110010101...

output:

-1

result:

ok 1 number(s): "-1"

Test #6:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #7:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

-1

result:

ok 1 number(s): "-1"

Subtask #2:

score: 3
Accepted

Test #8:

score: 3
Accepted
time: 0ms
memory: 3772kb

input:

0
01

output:

0

result:

ok 1 number(s): "0"

Test #9:

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

input:

0
10

output:

0

result:

ok 1 number(s): "0"

Test #10:

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

input:

01
01

output:

1

result:

ok 1 number(s): "1"

Test #11:

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

input:

01
10

output:

0

result:

ok 1 number(s): "0"

Test #12:

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

input:

1010101010
10

output:

5

result:

ok 1 number(s): "5"

Test #13:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #14:

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

input:

100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #15:

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

input:

010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101...

output:

100000

result:

ok 1 number(s): "100000"

Test #16:

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

input:

000110111001011000010001010010010000010100100000011101010000001000110011100000011011100101110110000001000000000011001010001101001110011111001101110010001100000000010000000100100011000111010011100110011101100011000100011001010000010001001010010101100000100000010010110000000001011100100001000010100100...

output:

43860

result:

ok 1 number(s): "43860"

Test #17:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

44072

result:

ok 1 number(s): "44072"

Subtask #3:

score: 4
Accepted

Dependency #2:

100%
Accepted

Test #18:

score: 4
Accepted
time: 0ms
memory: 3500kb

input:

0
01

output:

0

result:

ok 1 number(s): "0"

Test #19:

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

input:

0
10

output:

0

result:

ok 1 number(s): "0"

Test #20:

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

input:

01
01

output:

1

result:

ok 1 number(s): "1"

Test #21:

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

input:

01
10

output:

0

result:

ok 1 number(s): "0"

Test #22:

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

input:

1
00

output:

0

result:

ok 1 number(s): "0"

Test #23:

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

input:

1
11

output:

0

result:

ok 1 number(s): "0"

Test #24:

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

input:

10
00

output:

0

result:

ok 1 number(s): "0"

Test #25:

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

input:

11
11

output:

-1

result:

ok 1 number(s): "-1"

Test #26:

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

input:

1010101010
10

output:

5

result:

ok 1 number(s): "5"

Test #27:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #28:

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

input:

100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #29:

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

input:

010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101...

output:

100000

result:

ok 1 number(s): "100000"

Test #30:

score: 0
Accepted
time: 2ms
memory: 3748kb

input:

001000001110000110101100000001110000011000100001010001110010010101110110111000000000100000010110100000101110001000001010000000010101000010001000100010111010000110000001000001100110001010000010000101001001110100000011001000100100100101000101000100000100001001000000111000100101010010101100101001001010...

output:

43612

result:

ok 1 number(s): "43612"

Test #31:

score: 0
Accepted
time: 2ms
memory: 3908kb

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

43815

result:

ok 1 number(s): "43815"

Test #32:

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

input:

0011001101
00

output:

2

result:

ok 1 number(s): "2"

Test #33:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

1

result:

ok 1 number(s): "1"

Test #34:

score: 0
Accepted
time: 4ms
memory: 4196kb

input:

011110101001110000100100101010111010100110011010001001000110011111010101111000110100000110010011001010111001000110000110001110110100011111100010111010101101001100101110100001101111110110000100110110111001000001101110011010100110000111101101101111011000110010100100100001000011010100000100110101001000...

output:

50001

result:

ok 1 number(s): "50001"

Test #35:

score: 0
Accepted
time: 3ms
memory: 4128kb

input:

111011011000111010010001101100000110011000000101110011111110010110001010001000011100011100101011110101101001011101010011110100011101111111000011110101010001000011000100110001011110100010111101111110011001010110011001110111001011000000110100000011001110110110000101010100001001110100111010100100100101...

output:

-1

result:

ok 1 number(s): "-1"

Test #36:

score: 0
Accepted
time: 2ms
memory: 4172kb

input:

110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110...

output:

50000

result:

ok 1 number(s): "50000"

Test #37:

score: 0
Accepted
time: 2ms
memory: 4228kb

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

99999

result:

ok 1 number(s): "99999"

Test #38:

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

input:

000100100001010000001000011101100101000000000000100000101000100110111001000100000000001000100011101100010010100100000011110101010010010001000001000010000011101000011101010010000110000001000000010100001100010011001001010100010001010000001101101001010110011001000001110000001100010001000101000010110000...

output:

24091

result:

ok 1 number(s): "24091"

Test #39:

score: 0
Accepted
time: 3ms
memory: 4356kb

input:

011000011010000110001000000000100110011001001101011100010010100000100011010110010010011101100000011100110100001010000000100010011100001010010100000100000000100010010101110000001000001010111001100001001011101011110011100101110110101010110000100010001110111010111010000000101111010001010000001111111001...

output:

58668

result:

ok 1 number(s): "58668"

Subtask #4:

score: 5
Accepted

Test #40:

score: 5
Accepted
time: 0ms
memory: 3560kb

input:

11
011

output:

0

result:

ok 1 number(s): "0"

Test #41:

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

input:

0
110

output:

0

result:

ok 1 number(s): "0"

Test #42:

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

input:

01
100

output:

0

result:

ok 1 number(s): "0"

Test #43:

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

input:

110
110

output:

1

result:

ok 1 number(s): "1"

Test #44:

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

input:

010
001

output:

0

result:

ok 1 number(s): "0"

Test #45:

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

input:

001001001001
001

output:

4

result:

ok 1 number(s): "4"

Test #46:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #47:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

0

result:

ok 1 number(s): "0"

Test #48:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

24856

result:

ok 1 number(s): "24856"

Test #49:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

0

result:

ok 1 number(s): "0"

Test #50:

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

input:

010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010...

output:

62521

result:

ok 1 number(s): "62521"

Test #51:

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

input:

011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011...

output:

66666

result:

ok 1 number(s): "66666"

Test #52:

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

input:

110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110...

output:

66666

result:

ok 1 number(s): "66666"

Subtask #5:

score: 0
Wrong Answer

Test #53:

score: 5
Accepted
time: 0ms
memory: 3776kb

input:

11
011

output:

0

result:

ok 1 number(s): "0"

Test #54:

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

input:

01
100

output:

0

result:

ok 1 number(s): "0"

Test #55:

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

input:

011
011

output:

1

result:

ok 1 number(s): "1"

Test #56:

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

input:

010
100

output:

0

result:

ok 1 number(s): "0"

Test #57:

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

input:

0
010

output:

0

result:

ok 1 number(s): "0"

Test #58:

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

input:

10
101

output:

0

result:

ok 1 number(s): "0"

Test #59:

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

input:

010
010

output:

1

result:

ok 1 number(s): "1"

Test #60:

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

input:

000
101

output:

0

result:

ok 1 number(s): "0"

Test #61:

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

input:

001001001001
100

output:

3

result:

ok 1 number(s): "3"

Test #62:

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

input:

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

0

result:

ok 1 number(s): "0"

Test #63:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

0

result:

ok 1 number(s): "0"

Test #64:

score: 0
Accepted
time: 2ms
memory: 3688kb

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

25010

result:

ok 1 number(s): "25010"

Test #65:

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

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

0

result:

ok 1 number(s): "0"

Test #66:

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

input:

110001101111100110100110010110111101001001110110101110011010011000101000011001110011100111110111100001111111101011001001010111001100001001000001010000100010001001010101000101100011110110001100101110101101001100011101110111011110000111111110110110001001001100110110111001010001111111101100111011111011...

output:

62502

result:

ok 1 number(s): "62502"

Test #67:

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

input:

011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011011...

output:

66666

result:

ok 1 number(s): "66666"

Test #68:

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

input:

110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110110...

output:

66666

result:

ok 1 number(s): "66666"

Test #69:

score: -5
Wrong Answer
time: 0ms
memory: 3960kb

input:

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

output:

14932

result:

wrong answer 1st numbers differ - expected: '11173', found: '14932'

Subtask #6:

score: 0
Skipped

Dependency #4:

100%
Accepted

Dependency #5:

0%