| Task: | Niitty | 
| Sender: | Lytsky | 
| Submission time: | 2024-10-30 11:57:22 +0200 | 
| Language: | C++ (C++11) | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | WRONG ANSWER | 0 | 
| #2 | WRONG ANSWER | 0 | 
| #3 | WRONG ANSWER | 0 | 
| #4 | WRONG ANSWER | 0 | 
| #5 | WRONG ANSWER | 0 | 
| #6 | WRONG ANSWER | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.01 s | 1, 2, 3, 4, 5, 6 | details | 
| #2 | WRONG ANSWER | 0.01 s | 1, 2, 3, 4, 5, 6 | details | 
| #3 | WRONG ANSWER | 0.01 s | 1, 2, 3, 4, 5, 6 | details | 
| #4 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #5 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #6 | WRONG ANSWER | 0.07 s | 2, 3, 4, 5, 6 | details | 
| #7 | WRONG ANSWER | 0.08 s | 2, 3, 4, 5, 6 | details | 
| #8 | WRONG ANSWER | 0.07 s | 2, 3, 4, 5, 6 | details | 
| #9 | WRONG ANSWER | 0.01 s | 2, 3, 4, 5, 6 | details | 
| #10 | TIME LIMIT EXCEEDED | -- | 3, 4, 5, 6 | details | 
| #11 | TIME LIMIT EXCEEDED | -- | 3, 4, 5, 6 | details | 
| #12 | TIME LIMIT EXCEEDED | -- | 3, 4, 5, 6 | details | 
| #13 | WRONG ANSWER | 0.33 s | 3, 4, 5, 6 | details | 
| #14 | TIME LIMIT EXCEEDED | -- | 4, 5, 6 | details | 
| #15 | TIME LIMIT EXCEEDED | -- | 4, 5, 6 | details | 
| #16 | TIME LIMIT EXCEEDED | -- | 4, 5, 6 | details | 
| #17 | TIME LIMIT EXCEEDED | -- | 4, 5, 6 | details | 
| #18 | TIME LIMIT EXCEEDED | -- | 5, 6 | details | 
| #19 | TIME LIMIT EXCEEDED | -- | 5, 6 | details | 
| #20 | TIME LIMIT EXCEEDED | -- | 5, 6 | details | 
| #21 | TIME LIMIT EXCEEDED | -- | 5, 6 | details | 
| #22 | TIME LIMIT EXCEEDED | -- | 6 | details | 
| #23 | TIME LIMIT EXCEEDED | -- | 6 | details | 
| #24 | TIME LIMIT EXCEEDED | -- | 6 | details | 
| #25 | TIME LIMIT EXCEEDED | -- | 6 | details | 
Code
#include <bits/stdc++.h>
using namespace std;
map<char, int> setUnion(map<char, int> a, map<char, int> b) {
    for (auto x : a) { 
        b.insert(x);
    }
    return b;
}
int main() {
    int n, answer = 0;
    char flower;
    cin >> n;
    map<char, int> plus, now, species;
    vector<map<char, int>> sums;
    for (int index = 0; index < n*n; index++) {
        plus.clear();
        cin >> flower;
        if (not species[flower]) species[flower] = 1;
        map<char, int> m;
        m[flower] = 1;
        sums.push_back(m);
        if (index != 0) {
            for (int i = index % n; i < index; i += n) {
                plus = setUnion(plus, sums[i]);
            }
            if (index % n != 0) {
                plus = setUnion(plus, sums[index-1]);
            }
            sums[index] = setUnion(plus, sums[index]);
        }
    }
    for (int index = 0; index < n*n; index++) {
        int lensumsi = 0;
        for (auto specie : species) { 
            if (sums[index][specie.first]) lensumsi++;
        }
        if (lensumsi == (int) species.size()) {
            cout << index << endl; 
            map<char, int> big = sums[index];
            //vasen +++
            for (int vasen = 1; vasen <= index % n; vasen++) {
                map<char, int> s = sums[index];
                for (auto x : sums[index - vasen]) {
                    s[x.first] -= x.second;
                }
                //ylä
                for (int yla = (index)/n + 1; yla > 0; yla--) {
                    //cout << vasen << " " << yla << " " << index - yla + 1 << endl; 
                    cout << index - vasen << ": " << index - yla*n << endl; 
                    if (index - yla*n >= 0) {
                        for (auto x : sums[index - yla*n]) {
                            s[x.first] -= x.second;
                        }
                        bool through = true;
                        for (auto x : species) {
                            if (s[x.first] <= 0) {
                                through = false;
                                //cout << s[x.first] << endl; 
                                break;
                            }
                        }
                    if (through and (int) s.size() == (int) sums[index].size()) {
                        cout << index << " " << index - vasen  << "  " << index - yla + 1 << endl; 
                        answer++;
                    }
                    } else answer++;
                }
            }
        }
    }
    cout << answer << endl; 
}
Test details
Test 1
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 TNCTNPNTPC NPPNTNTPTP NTNTTCNTCT NPCPNPPNTT ...  | 
| correct output | 
|---|
| 2035 | 
| user output | 
|---|
| 5 4: -5 3: -5 2: -5 1: -5 ...  | 
Test 2
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 NFWQLWNWYS DZOQJVXFPJ CNHXPXMCQD QRTBVNLTQC ...  | 
| correct output | 
|---|
| 9 | 
| user output | 
|---|
| 96 95: -4 95: 6 95: 16 95: 26 ...  | 
Test 3
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX ...  | 
| correct output | 
|---|
| 3025 | 
| user output | 
|---|
| 0 1 0: -9 2 1: -8 ...  | 
Test 4
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 FFFFFFFFFF FFFFFCFFFF FFFFFFJFFF FFFFFFFFFF ...  | 
| correct output | 
|---|
| 12 | 
| user output | 
|---|
| 89 88: -1 88: 9 88: 19 88: 29 ...  | 
Test 5
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 1 X  | 
| correct output | 
|---|
| 1 | 
| user output | 
|---|
| 0 0  | 
Test 6
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 BBCBUBOUOBBCUUBBCOUO BOUCOOCUBCOOOCOBOCUO UCCUUUOBCOCBCBUBUCOO BUOBUCUCUOOBCOOUBUOO ...  | 
| correct output | 
|---|
| 38724 | 
| user output | 
|---|
| 6 5: -14 4: -14 3: -14 2: -14 ...  | 
Test 7
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 CBGLSHGZHYZDWBNDBJUG SMUXOJQYPXZDTMJUIWOJ XIDSTNBGHKRKOVUVMINB MTQGCFRUHQKALXRNCQGS ...  | 
| correct output | 
|---|
| 8334 | 
| user output | 
|---|
| 127 126: -13 126: 7 126: 27 126: 47 ...  | 
Test 8
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK ...  | 
| correct output | 
|---|
| 44100 | 
| user output | 
|---|
| 0 1 0: -19 2 1: -18 ...  | 
Test 9
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 AAAAAAAAXAAAAAAAAAAA AAAWAAAAAAAAAAAAAOAA AAAAAAAAAAAAAAAAAPAA AAAAAAAAKAAAAAAAAAAZ ...  | 
| correct output | 
|---|
| 18 | 
| user output | 
|---|
| 378 377: -2 377: 18 377: 38 377: 58 ...  | 
Test 10
Group: 3, 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 50 GRGREEEGREGXRXXEGXXREXGRRRGRRR...  | 
| correct output | 
|---|
| 1584665 | 
| user output | 
|---|
| (empty) | 
Test 11
Group: 3, 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 50 AITIISJUHCCRZNKSDCNQKYSQRINFWJ...  | 
| correct output | 
|---|
| 1077746 | 
| user output | 
|---|
| (empty) | 
Test 12
Group: 3, 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 50 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...  | 
| correct output | 
|---|
| 1625625 | 
| user output | 
|---|
| (empty) | 
Test 13
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 50 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...  | 
| correct output | 
|---|
| 1680 | 
| user output | 
|---|
| 2141 2140: -9 2140: 41 2140: 91 2140: 141 ...  | 
Test 14
Group: 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 100 NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM...  | 
| correct output | 
|---|
| 25325366 | 
| user output | 
|---|
| (empty) | 
Test 15
Group: 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 100 LIMQQIHASECROEVILNVULGWZJPPKOG...  | 
| correct output | 
|---|
| 22342463 | 
| user output | 
|---|
| (empty) | 
Test 16
Group: 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 100 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT...  | 
| correct output | 
|---|
| 25502500 | 
| user output | 
|---|
| (empty) | 
Test 17
Group: 4, 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 100 QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...  | 
| correct output | 
|---|
| 25650 | 
| user output | 
|---|
| (empty) | 
Test 18
Group: 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200 NAANANMMKNKKAKMKMAKNKMNKMMNNAA...  | 
| correct output | 
|---|
| 403292767 | 
| user output | 
|---|
| (empty) | 
Test 19
Group: 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200 OMYWATTLURKQPTKEFMGGYAOONXWVSC...  | 
| correct output | 
|---|
| 388111321 | 
| user output | 
|---|
| (empty) | 
Test 20
Group: 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...  | 
| correct output | 
|---|
| 404010000 | 
| user output | 
|---|
| (empty) | 
Test 21
Group: 5, 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200 LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL...  | 
| correct output | 
|---|
| 14159445 | 
| user output | 
|---|
| (empty) | 
Test 22
Group: 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 VVHWVUHVHUWWWVUUUWVUUHUUWHWUVW...  | 
| correct output | 
|---|
| 15683003812 | 
| user output | 
|---|
| (empty) | 
Test 23
Group: 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 OIMZGEQSBMBDSDXSWRFNKSGFEBBTJE...  | 
| correct output | 
|---|
| 15575906951 | 
| user output | 
|---|
| (empty) | 
Test 24
Group: 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII...  | 
| correct output | 
|---|
| 15687562500 | 
| user output | 
|---|
| (empty) | 
Test 25
Group: 6
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 500 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...  | 
| correct output | 
|---|
| 3058970930 | 
| user output | 
|---|
| (empty) | 
