| Task: | Niitty | 
| Sender: | zli0122 | 
| Submission time: | 2024-11-01 09:35:35 +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.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #2 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #3 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #4 | WRONG ANSWER | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #5 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details | 
| #6 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details | 
| #7 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details | 
| #8 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details | 
| #9 | WRONG ANSWER | 0.00 s | 2, 3, 4, 5, 6 | details | 
| #10 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details | 
| #11 | WRONG ANSWER | 0.01 s | 3, 4, 5, 6 | details | 
| #12 | WRONG ANSWER | 0.00 s | 3, 4, 5, 6 | details | 
| #13 | WRONG ANSWER | 0.01 s | 3, 4, 5, 6 | details | 
| #14 | WRONG ANSWER | 0.01 s | 4, 5, 6 | details | 
| #15 | WRONG ANSWER | 0.01 s | 4, 5, 6 | details | 
| #16 | WRONG ANSWER | 0.01 s | 4, 5, 6 | details | 
| #17 | WRONG ANSWER | 0.01 s | 4, 5, 6 | details | 
| #18 | WRONG ANSWER | 0.01 s | 5, 6 | details | 
| #19 | WRONG ANSWER | 0.02 s | 5, 6 | details | 
| #20 | WRONG ANSWER | 0.01 s | 5, 6 | details | 
| #21 | WRONG ANSWER | 0.06 s | 5, 6 | details | 
| #22 | WRONG ANSWER | 0.07 s | 6 | details | 
| #23 | WRONG ANSWER | 0.08 s | 6 | details | 
| #24 | WRONG ANSWER | 0.07 s | 6 | details | 
| #25 | WRONG ANSWER | 0.62 s | 6 | details | 
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:28:9: warning: unused variable 'required_species' [-Wunused-variable]
   28 |     int required_species = types.size();  // Number of unique flower types in the meadow
      |         ^~~~~~~~~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    
    // 3D prefix sum array for counting each species (26 letters)
    vector<vector<vector<int>>> prefix_lawn(n + 1, vector<vector<int>>(n + 1, vector<int>(26, 0)));
    unordered_set<char> types;
    
    // Input the grid and build the prefix sums
    char current;
    for (int r = 1; r <= n; r++) {
        for (int c = 1; c <= n; c++) {
            cin >> current;
            int species_index = current - 'A';
            types.insert(current);
            for (int x = 0; x < 26; x++) {
                prefix_lawn[r][c][x] = prefix_lawn[r-1][c][x] + prefix_lawn[r][c-1][x]
                                        - prefix_lawn[r-1][c-1][x];
            }
            prefix_lawn[r][c][species_index]++;
        }
    }
    long long solutions = 0;
    int required_species = types.size();  // Number of unique flower types in the meadow
    // Fix the upper and lower row boundaries of the submatrix
    for (int rl = 1; rl <= n; rl++) {
        for (int rg = rl; rg <= n; rg++) {
            // Use sliding window on columns
            int cl = 1;  // Left column boundary
            unordered_map<char, int> species_count;
            for (int cg = 1; cg <= n; cg++) { // Right column boundary
                // Update species_count with the current column range [rl, rg] x [cl, cg]
                bool all_species_present = true;
                
                for (auto ch : types) {
                    int index = ch - 'A';
                    int count = prefix_lawn[rg][cg][index] - prefix_lawn[rl-1][cg][index]
                                - prefix_lawn[rg][cl-1][index] + prefix_lawn[rl-1][cl-1][index];
                    if (count == 0) {
                        all_species_present = false;
                        break;
                    }
                }
                // If valid, add all submatrices starting from (rl, cl) to (rg, cg)
                if (all_species_present) {
                    solutions += (n - cg + 1);  // All submatrices ending in this row range
                    break; // Move cl to avoid redundant checks
                }
            }
        }
    }
    cout << solutions << 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 | 
|---|
| 408 | 
Test 2
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input | 
|---|
| 10 NFWQLWNWYS DZOQJVXFPJ CNHXPXMCQD QRTBVNLTQC ...  | 
| correct output | 
|---|
| 9 | 
| user output | 
|---|
| 9 | 
Test 3
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX ...  | 
| correct output | 
|---|
| 3025 | 
| user output | 
|---|
| 550 | 
Test 4
Group: 1, 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 10 FFFFFFFFFF FFFFFCFFFF FFFFFFJFFF FFFFFFFFFF ...  | 
| correct output | 
|---|
| 12 | 
| user output | 
|---|
| 4 | 
Test 5
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input | 
|---|
| 1 X  | 
| correct output | 
|---|
| 1 | 
| user output | 
|---|
| 1 | 
Test 6
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 BBCBUBOUOBBCUUBBCOUO BOUCOOCUBCOOOCOBOCUO UCCUUUOBCOCBCBUBUCOO BUOBUCUCUOOBCOOUBUOO ...  | 
| correct output | 
|---|
| 38724 | 
| user output | 
|---|
| 3952 | 
Test 7
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 CBGLSHGZHYZDWBNDBJUG SMUXOJQYPXZDTMJUIWOJ XIDSTNBGHKRKOVUVMINB MTQGCFRUHQKALXRNCQGS ...  | 
| correct output | 
|---|
| 8334 | 
| user output | 
|---|
| 1413 | 
Test 8
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK ...  | 
| correct output | 
|---|
| 44100 | 
| user output | 
|---|
| 4200 | 
Test 9
Group: 2, 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 20 AAAAAAAAXAAAAAAAAAAA AAAWAAAAAAAAAAAAAOAA AAAAAAAAAAAAAAAAAPAA AAAAAAAAKAAAAAAAAAAZ ...  | 
| correct output | 
|---|
| 18 | 
| user output | 
|---|
| 6 | 
Test 10
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 50 GRGREEEGREGXRXXEGXXREXGRRRGRRR...  | 
| correct output | 
|---|
| 1584665 | 
| user output | 
|---|
| 62889 | 
Test 11
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 50 AITIISJUHCCRZNKSDCNQKYSQRINFWJ...  | 
| correct output | 
|---|
| 1077746 | 
| user output | 
|---|
| 48654 | 
Test 12
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 50 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...  | 
| correct output | 
|---|
| 1625625 | 
| user output | 
|---|
| 63750 | 
Test 13
Group: 3, 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 50 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...  | 
| correct output | 
|---|
| 1680 | 
| user output | 
|---|
| 280 | 
Test 14
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 100 NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM...  | 
| correct output | 
|---|
| 25325366 | 
| user output | 
|---|
| 503179 | 
Test 15
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 100 LIMQQIHASECROEVILNVULGWZJPPKOG...  | 
| correct output | 
|---|
| 22342463 | 
| user output | 
|---|
| 466326 | 
Test 16
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 100 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT...  | 
| correct output | 
|---|
| 25502500 | 
| user output | 
|---|
| 505000 | 
Test 17
Group: 4, 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 100 QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...  | 
| correct output | 
|---|
| 25650 | 
| user output | 
|---|
| 2868 | 
Test 18
Group: 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 200 NAANANMMKNKKAKMKMAKNKMNKMMNNAA...  | 
| correct output | 
|---|
| 403292767 | 
| user output | 
|---|
| 4016474 | 
Test 19
Group: 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 200 OMYWATTLURKQPTKEFMGGYAOONXWVSC...  | 
| correct output | 
|---|
| 388111321 | 
| user output | 
|---|
| 3932823 | 
Test 20
Group: 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 200 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...  | 
| correct output | 
|---|
| 404010000 | 
| user output | 
|---|
| 4020000 | 
Test 21
Group: 5, 6
Verdict: WRONG ANSWER
| input | 
|---|
| 200 LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL...  | 
| correct output | 
|---|
| 14159445 | 
| user output | 
|---|
| 321974 | 
Test 22
Group: 6
Verdict: WRONG ANSWER
| input | 
|---|
| 500 VVHWVUHVHUWWWVUUUWVUUHUUWHWUVW...  | 
| correct output | 
|---|
| 15683003812 | 
| user output | 
|---|
| 62615922 | 
Test 23
Group: 6
Verdict: WRONG ANSWER
| input | 
|---|
| 500 OIMZGEQSBMBDSDXSWRFNKSGFEBBTJE...  | 
| correct output | 
|---|
| 15575906951 | 
| user output | 
|---|
| 62377605 | 
Test 24
Group: 6
Verdict: WRONG ANSWER
| input | 
|---|
| 500 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII...  | 
| correct output | 
|---|
| 15687562500 | 
| user output | 
|---|
| 62625000 | 
Test 25
Group: 6
Verdict: WRONG ANSWER
| input | 
|---|
| 500 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...  | 
| correct output | 
|---|
| 3058970930 | 
| user output | 
|---|
| 22973347 | 
