Submission details
Task:Niitty
Sender:viiviP
Submission time:2026-08-16 19:21:07 +0300
Language:C++ (C++20)
Status:READY
Result:0
Feedback
subtaskverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimesubtask
#10.01 s1, 2, 3, 4, 5, 6details
#2ACCEPTED0.01 s1, 2, 3, 4, 5, 6details
#30.01 s1, 2, 3, 4, 5, 6details
#4ACCEPTED0.01 s1, 2, 3, 4, 5, 6details
#5ACCEPTED0.00 s1, 2, 3, 4, 5, 6details
#60.08 s2, 3, 4, 5, 6details
#70.09 s2, 3, 4, 5, 6details
#80.09 s2, 3, 4, 5, 6details
#9ACCEPTED0.08 s2, 3, 4, 5, 6details
#10--3, 4, 5, 6details
#11--3, 4, 5, 6details
#12--3, 4, 5, 6details
#13--3, 4, 5, 6details
#14--4, 5, 6details
#15--4, 5, 6details
#16--4, 5, 6details
#17--4, 5, 6details
#18--5, 6details
#19--5, 6details
#20--5, 6details
#21--5, 6details
#22--6details
#23--6details
#24--6details
#25--6details

Code

#include <iostream>
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

vector<vector<vector<int>>> presum;
int mask = 0;

vector<int> vektoriSumma(vector<int> u, vector<int>j) {
    vector<int>sum(26);
    for (int i = 0; i<26;i++) {
        sum[i] = u[i] + j[i];
    }
    return sum;
}
vector<int> vektoriErotus(vector<int>u, vector<int>j) {
    vector<int>sum(26);
    for (int i = 0; i<26;i++) {
        sum[i] = u[i] - j[i];
    }
    return sum;
}
bool ok(vector<int>u) {
    ll ans = 0;
    for (int i = 0; i<26;i++) {
        if (u[i] >0) ans |= 1<<i;
    }
    return ans==mask;
}
bool okAlue(int y1, int x1, int y2, int x2) {
    vector<int>org = presum[y2][x2];

    org = vektoriErotus(org, presum[y2][x1-1]);
    org = vektoriErotus(org, presum[y1-1][x2]);
    org = vektoriSumma(org, presum[y1-1][x1-1]);
    return ok(org);
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >>n;

    vector<vector<int>>grid(n+1, vector<int> (n+1));
    presum.resize(n+1, vector<vector<int>>(n+1, vector<int> (26)));
    vector<vector<int>> v;
    
    for (int i = 1; i<=n;i++) {
        string s;
        cin >>s;
        for (int j = 1; j<=n;j++) {
            int num = s[j-1]-'A';
            //grid[i][j] = 1<<num;
            grid[i][j] = num;
            mask |= 1<<num;
        }
    }

    for (int i = 1; i<=n;i++) {
        vector<int> rivi(26);
        for (int j = 1; j<=n;j++) {
            //cout <<grid[i][j]<<" ";
            rivi[grid[i][j]]++;
            presum[i][j] = vektoriSumma(presum[i-1][j],rivi);
        }
        //cout <<"\n";
    }
   
    //cout <<mask<<"\n";
    ll ans = 0;
    for (int y1 = 1; y1<=n;y1++) {
        for (int x1 = 1; x1<=n;x1++) {
            for (int y2 = 1; y2<=n;y2++) {
                for (int x2 = 1; x2<=n;x2++) {
                    if (okAlue(y1, x1, y2, x2)) ans++;
                }
            }
        }
    }
    cout <<ans<<"\n";
}

Test details

Test 1

Subtask: 1, 2, 3, 4, 5, 6

Verdict:

input
10
TNCTNPNTPC
NPPNTNTPTP
NTNTTCNTCT
NPCPNPPNTT
...

correct output
2035

user output
2806

Feedback: Incorrect character on line 1 col 2: expected "2035", got "2806"

Test 2

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
10
NFWQLWNWYS
DZOQJVXFPJ
CNHXPXMCQD
QRTBVNLTQC
...

correct output
9

user output
9

Test 3

Subtask: 1, 2, 3, 4, 5, 6

Verdict:

input
10
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
...

correct output
3025

user output
4321

Feedback: Incorrect character on line 1 col 1: expected "3025", got "4321"

Test 4

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
10
FFFFFFFFFF
FFFFFCFFFF
FFFFFFJFFF
FFFFFFFFFF
...

correct output
12

user output
12

Test 5

Subtask: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
1
X

correct output
1

user output
1

Test 6

Subtask: 2, 3, 4, 5, 6

Verdict:

input
20
BBCBUBOUOBBCUUBBCOUO
BOUCOOCUBCOOOCOBOCUO
UCCUUUOBCOCBCBUBUCOO
BUOBUCUCUOOBCOOUBUOO
...

correct output
38724

user output
63613

Feedback: Incorrect character on line 1 col 1: expected "38724", got "63613"

Test 7

Subtask: 2, 3, 4, 5, 6

Verdict:

input
20
CBGLSHGZHYZDWBNDBJUG
SMUXOJQYPXZDTMJUIWOJ
XIDSTNBGHKRKOVUVMINB
MTQGCFRUHQKALXRNCQGS
...

correct output
8334

user output
12383

Feedback: Incorrect character on line 1 col 1: expected "8334", got "12383"

Test 8

Subtask: 2, 3, 4, 5, 6

Verdict:

input
20
KKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKK
...

correct output
44100

user output
73341

Feedback: Incorrect character on line 1 col 1: expected "44100", got "73341"

Test 9

Subtask: 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
20
AAAAAAAAXAAAAAAAAAAA
AAAWAAAAAAAAAAAAAOAA
AAAAAAAAAAAAAAAAAPAA
AAAAAAAAKAAAAAAAAAAZ
...

correct output
18

user output
18

Test 10

Subtask: 3, 4, 5, 6

Verdict:

input
50
GRGREEEGREGXRXXEGXXREXGRRRGRRR...

correct output
1584665

user output
(empty)

Test 11

Subtask: 3, 4, 5, 6

Verdict:

input
50
AITIISJUHCCRZNKSDCNQKYSQRINFWJ...

correct output
1077746

user output
(empty)

Test 12

Subtask: 3, 4, 5, 6

Verdict:

input
50
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO...

correct output
1625625

user output
(empty)

Test 13

Subtask: 3, 4, 5, 6

Verdict:

input
50
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF...

correct output
1680

user output
(empty)

Test 14

Subtask: 4, 5, 6

Verdict:

input
100
NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM...

correct output
25325366

user output
(empty)

Test 15

Subtask: 4, 5, 6

Verdict:

input
100
LIMQQIHASECROEVILNVULGWZJPPKOG...

correct output
22342463

user output
(empty)

Test 16

Subtask: 4, 5, 6

Verdict:

input
100
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT...

correct output
25502500

user output
(empty)

Test 17

Subtask: 4, 5, 6

Verdict:

input
100
QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
25650

user output
(empty)

Test 18

Subtask: 5, 6

Verdict:

input
200
NAANANMMKNKKAKMKMAKNKMNKMMNNAA...

correct output
403292767

user output
(empty)

Test 19

Subtask: 5, 6

Verdict:

input
200
OMYWATTLURKQPTKEFMGGYAOONXWVSC...

correct output
388111321

user output
(empty)

Test 20

Subtask: 5, 6

Verdict:

input
200
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

correct output
404010000

user output
(empty)

Test 21

Subtask: 5, 6

Verdict:

input
200
LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL...

correct output
14159445

user output
(empty)

Test 22

Subtask: 6

Verdict:

input
500
VVHWVUHVHUWWWVUUUWVUUHUUWHWUVW...

correct output
15683003812

user output
(empty)

Test 23

Subtask: 6

Verdict:

input
500
OIMZGEQSBMBDSDXSWRFNKSGFEBBTJE...

correct output
15575906951

user output
(empty)

Test 24

Subtask: 6

Verdict:

input
500
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

correct output
15687562500

user output
(empty)

Test 25

Subtask: 6

Verdict:

input
500
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...

correct output
3058970930

user output
(empty)