| Task: | Niitty |
| Sender: | adex720 |
| Submission time: | 2024-11-04 20:29:16 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | 58 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 4 |
| #2 | ACCEPTED | 6 |
| #3 | ACCEPTED | 10 |
| #4 | ACCEPTED | 13 |
| #5 | ACCEPTED | 25 |
| #6 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #5 | ACCEPTED | 0.00 s | 1, 2, 3, 4, 5, 6 | details |
| #6 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
| #7 | ACCEPTED | 0.01 s | 2, 3, 4, 5, 6 | details |
| #8 | ACCEPTED | 0.00 s | 2, 3, 4, 5, 6 | details |
| #9 | ACCEPTED | 0.01 s | 2, 3, 4, 5, 6 | details |
| #10 | ACCEPTED | 0.01 s | 3, 4, 5, 6 | details |
| #11 | ACCEPTED | 0.03 s | 3, 4, 5, 6 | details |
| #12 | ACCEPTED | 0.01 s | 3, 4, 5, 6 | details |
| #13 | ACCEPTED | 0.01 s | 3, 4, 5, 6 | details |
| #14 | ACCEPTED | 0.02 s | 4, 5, 6 | details |
| #15 | ACCEPTED | 0.18 s | 4, 5, 6 | details |
| #16 | ACCEPTED | 0.01 s | 4, 5, 6 | details |
| #17 | ACCEPTED | 0.10 s | 4, 5, 6 | details |
| #18 | ACCEPTED | 0.12 s | 5, 6 | details |
| #19 | ACCEPTED | 0.94 s | 5, 6 | details |
| #20 | ACCEPTED | 0.05 s | 5, 6 | details |
| #21 | ACCEPTED | 0.82 s | 5, 6 | details |
| #22 | TIME LIMIT EXCEEDED | -- | 6 | details |
| #23 | TIME LIMIT EXCEEDED | -- | 6 | details |
| #24 | ACCEPTED | 0.65 s | 6 | details |
| #25 | TIME LIMIT EXCEEDED | -- | 6 | details |
Compiler report
input/code.cpp:83:6: warning: "/*" within comment [-Wcomment]
83 | }/**/
|
input/code.cpp: In function 'int main()':
input/code.cpp:100:17: warning: variable 'edellinenSuurin' set but not used [-Wunused-but-set-variable]
100 | int edellinenSuurin = 0;
| ^~~~~~~~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, index, uusi;
cin >> n;
char c;
string rivit[n];
for (int i = 0; i < n; i++)
{
cin >> rivit[i];
}
int ylla[26][n][n];
string eka = rivit[0];
string vika = rivit[n - 1];
for (int x = 0; x < n; x++)
{
for (int j = 0; j < 26; j++)
{
ylla[j][0][x] = -1;
}
ylla[eka[x] - 'A'][0][x] = 0;
}
set<int> kukat;
for (int y = 1; y < n; y++)
{
string rivi = rivit[y];
for (int x = 0; x < n; x++)
{
c = rivi[x];
index = c - 'A';
kukat.insert(index);
for (int k = 0; k < 26; k++)
{
ylla[k][y][x] = index == k ? 0 : ylla[k][y - 1][x] == -1 ? -1
: ylla[k][y - 1][x] + 1;
}
}
}
for (char kir : eka)
{
kukat.insert(kir - 'A');
}
/*int pieninLoppu = 0;
int suurinAloitus = 0;
for (int i : kukat)
{
int pienin = n - 1;
for (int x = 0; x < n; x++)
{
for (int y = 0; y < n; y++)
{
if (ylla[i][y][x] == 0)
{
pienin = x;
break;
}
}
if (pienin < n - 1)
{
break;
}
}
if (pienin > pieninLoppu)
{
pieninLoppu = pienin;
}
}/**/
long long maara = 0;
int minimikorkeudet[27];
int suurin;
for (int alkuX = 0; alkuX < n; alkuX++)
{
for (int alkuY = 0; alkuY < n; alkuY++)
{
set<int> k = kukat;
for (int i : k)
{
minimikorkeudet[i] = -1;
}
suurin = -1;
int edellinenSuurin = 0;
for (int loppuX = alkuX; loppuX < n; loppuX++)
{
/*if ((ylla[edellinenSuurin][alkuY][loppuX] >= suurin || ylla[edellinenSuurin][alkuY][loppuX] == -1) && suurin >= 0)
{
maara += alkuY - suurin + 1;
k.erase(rivit[alkuY][loppuX] - 'A');
continue;
}*/
for (int i : k)
{
uusi = ylla[i][alkuY][loppuX];
if ((uusi < minimikorkeudet[i] || minimikorkeudet[i] < 0) && uusi >= 0)
{
minimikorkeudet[i] = uusi;
}
}
k.erase(rivit[alkuY][loppuX] - 'A');
suurin = 0;
for (int i : kukat)
{
uusi = minimikorkeudet[i];
if (uusi == -1)
{
suurin = -1;
break;
}
if (uusi > suurin)
{
suurin = uusi;
edellinenSuurin = i;
}
}
if (suurin == -1)
{
continue;
}
maara += alkuY - suurin + 1;
}
}
}
cout << maara;
}Test details
Test 1
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 10 TNCTNPNTPC NPPNTNTPTP NTNTTCNTCT NPCPNPPNTT ... |
| correct output |
|---|
| 2035 |
| user output |
|---|
| 2035 |
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: ACCEPTED
| input |
|---|
| 10 XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX ... |
| correct output |
|---|
| 3025 |
| user output |
|---|
| 3025 |
Test 4
Group: 1, 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 10 FFFFFFFFFF FFFFFCFFFF FFFFFFJFFF FFFFFFFFFF ... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
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: ACCEPTED
| input |
|---|
| 20 BBCBUBOUOBBCUUBBCOUO BOUCOOCUBCOOOCOBOCUO UCCUUUOBCOCBCBUBUCOO BUOBUCUCUOOBCOOUBUOO ... |
| correct output |
|---|
| 38724 |
| user output |
|---|
| 38724 |
Test 7
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 20 CBGLSHGZHYZDWBNDBJUG SMUXOJQYPXZDTMJUIWOJ XIDSTNBGHKRKOVUVMINB MTQGCFRUHQKALXRNCQGS ... |
| correct output |
|---|
| 8334 |
| user output |
|---|
| 8334 |
Test 8
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 20 KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKK ... |
| correct output |
|---|
| 44100 |
| user output |
|---|
| 44100 |
Test 9
Group: 2, 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 20 AAAAAAAAXAAAAAAAAAAA AAAWAAAAAAAAAAAAAOAA AAAAAAAAAAAAAAAAAPAA AAAAAAAAKAAAAAAAAAAZ ... |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 10
Group: 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 50 GRGREEEGREGXRXXEGXXREXGRRRGRRR... |
| correct output |
|---|
| 1584665 |
| user output |
|---|
| 1584665 |
Test 11
Group: 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 50 AITIISJUHCCRZNKSDCNQKYSQRINFWJ... |
| correct output |
|---|
| 1077746 |
| user output |
|---|
| 1077746 |
Test 12
Group: 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 50 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO... |
| correct output |
|---|
| 1625625 |
| user output |
|---|
| 1625625 |
Test 13
Group: 3, 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 50 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF... |
| correct output |
|---|
| 1680 |
| user output |
|---|
| 1680 |
Test 14
Group: 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 NNCMDCDDCCNNNDNCMMNCDCDCCDCDNM... |
| correct output |
|---|
| 25325366 |
| user output |
|---|
| 25325366 |
Test 15
Group: 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 LIMQQIHASECROEVILNVULGWZJPPKOG... |
| correct output |
|---|
| 22342463 |
| user output |
|---|
| 22342463 |
Test 16
Group: 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT... |
| correct output |
|---|
| 25502500 |
| user output |
|---|
| 25502500 |
Test 17
Group: 4, 5, 6
Verdict: ACCEPTED
| input |
|---|
| 100 QXQQQQQQQQQQQQQQQQQQQQQQQQQQQQ... |
| correct output |
|---|
| 25650 |
| user output |
|---|
| 25650 |
Test 18
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 200 NAANANMMKNKKAKMKMAKNKMNKMMNNAA... |
| correct output |
|---|
| 403292767 |
| user output |
|---|
| 403292767 |
Test 19
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 200 OMYWATTLURKQPTKEFMGGYAOONXWVSC... |
| correct output |
|---|
| 388111321 |
| user output |
|---|
| 388111321 |
Test 20
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 200 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC... |
| correct output |
|---|
| 404010000 |
| user output |
|---|
| 404010000 |
Test 21
Group: 5, 6
Verdict: ACCEPTED
| input |
|---|
| 200 LLLLLLLLLLLLLLLLLHLLLLLLLLLLLL... |
| correct output |
|---|
| 14159445 |
| user output |
|---|
| 14159445 |
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: ACCEPTED
| input |
|---|
| 500 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
| correct output |
|---|
| 15687562500 |
| user output |
|---|
| 15687562500 |
Test 25
Group: 6
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 500 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW... |
| correct output |
|---|
| 3058970930 |
| user output |
|---|
| (empty) |
