| Task: | Merkkijonot |
| Sender: | Kemm1706 |
| Submission time: | 2023-01-21 14:42:38 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #5 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #6 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #7 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #8 | WRONG ANSWER | 0.07 s | 2, 3 | details |
| #9 | WRONG ANSWER | 0.00 s | 3 | details |
| #10 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #11 | WRONG ANSWER | 0.10 s | 3 | details |
| #12 | TIME LIMIT EXCEEDED | -- | 3 | details |
| #13 | WRONG ANSWER | 0.00 s | 3 | details |
| #14 | WRONG ANSWER | 0.00 s | 3 | details |
| #15 | WRONG ANSWER | 0.06 s | 2, 3 | details |
| #16 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair <ll, ll> pl;
typedef vector <pl> vpl;
const ll modd = 1e9 + 7;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
ll i, j, k, l, a, b, sa = 0, sb = 0, ca, cb, ans = 0, z = 1;
ll n[2];
string s;
map <pl, ll> mp[2];
vpl p[2];
vpl x[2];
cin >> n[0];
n[1] = n[0]/2;
n[0] -= n[1];
for(k = 0; k < 2; k++)
{
for(i = 0; i < n[k]; i++)
{
a = b = 0;
cin >> s;
l = s.length();
for(j = 0; j < l; j++)
if(s[j] == 'a')
a++;
else
b++;
p[k].push_back({a, b});
sa += a;
sb += b;
}
n[k] = (1 << n[k]);
}
/*for(auto [v, d] : p[1])
cout << v << " " << d << "\n";
cout << "\n";
for(auto [v, d] : p[0])
cout << v << " " << d << "\n";
cout << "\n";*/
if(sa % 2 != 0 || sb % 2 != 0)
{
cout << 0;
return 0;
}
sa /= 2;
sb /= 2;
for(k = 0; k < 2; k++)
{
for(i = 0; i < n[k]; i++)
{
j = ca = cb = 0;
while((z << j) <= i)
{
if((z << j) & i)
{
ca += p[k][j].first;
cb += p[k][j].second;
}
j++;
}
if(ca <= sa && cb <= sb)
{
mp[k][{ca, cb}]++;
if(mp[k][{ca, cb}] == 1)
x[k].push_back({ca, cb});
//cout << ca << " " << cb << "\n";
}
}
//cout << "\n";
}
l = x[0].size();
for(i = 0; i < l; i++)
{
a = x[0][i].first;
b = x[0][i].second;
ans += mp[0][{a, b}] * mp[1][{sa - a, sb - b}];
//cout << a << " " << b << " " << mp[0][{a, b}] << " " << mp[1][{sa - a, sb - b}] << "\n";
ans %= modd;
}
return 0;
}
Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 4 b bbb baabaabaa aab |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 2
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 8 b bb baa a ... |
| correct output |
|---|
| 12 |
| user output |
|---|
| (empty) |
Test 3
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 16 a a a b ... |
| correct output |
|---|
| 5040 |
| user output |
|---|
| (empty) |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 16 b b a a ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 5
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 5 bab bbaaabbabbbaababbbabbabaaabaaa... |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 6
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 baabbbababbbabbaaaabab aabaaabbbab aaaabbabab aab ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Test 7
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 20 aaaab baaab babb b ... |
| correct output |
|---|
| 4332 |
| user output |
|---|
| (empty) |
Test 8
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 a b a b ... |
| correct output |
|---|
| 433105324 |
| user output |
|---|
| (empty) |
Test 9
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 aaaabbabbaabbaaaabbbbabaaaabab... |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 10
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 50 aaba aaa abbbbaaba ababbabbabab ... |
| correct output |
|---|
| 636733956 |
| user output |
|---|
| (empty) |
Test 11
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 ba bbbaba bbba bb ... |
| correct output |
|---|
| 264657218 |
| user output |
|---|
| (empty) |
Test 12
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 500 a b b b ... |
| correct output |
|---|
| 394045503 |
| user output |
|---|
| (empty) |
Test 13
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 2 bbbababaaaabbbaaaaaaabbabbbaab... |
| correct output |
|---|
| 2 |
| user output |
|---|
| (empty) |
Test 14
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1 bbbaaaabaabbbababbbbbbbbabbbaa... |
| correct output |
|---|
| 0 |
| user output |
|---|
| (empty) |
Test 15
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 a a a a ... |
| correct output |
|---|
| 538992043 |
| user output |
|---|
| (empty) |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 500 a a a a ... |
| correct output |
|---|
| 515561345 |
| user output |
|---|
| (empty) |
