QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#307931 | #1127. Virus Experiment | 5ab | 100 ✓ | 304ms | 160012kb | C++20 | 4.8kb | 2024-01-19 11:35:59 | 2024-01-19 11:36:01 |
Judging History
answer
/* name: 1127
* author: 5ab
* created at: 2024-01-08
*/
#include <iostream>
#include <algorithm>
#include <numeric>
#include <vector>
#include <tuple>
using namespace std;
#define all(x) (x).begin(), (x).end()
#define ssz(x) (int((x).size()))
auto chmax = [](auto& x, auto y) { if (x < y) x = y; };
auto chmin = [](auto& x, auto y) { if (y < x) x = y; };
using ll = long long;
const int max_n = 800, max_nd = max_n * max_n, max_m = 1e5, drs = 4, sdr = 1 << drs, INF = 1145141919;
const char dr[] = "NESW";
int d[max_n][max_n], c[sdr], st[max_nd], ed[max_nd], par[max_nd], ind = 0, mn = INF, mnc = 0;
int dsu[max_nd * (drs + 1)], siz[max_nd * (drs + 1)], cmk[max_nd * (drs + 1)], nm, m;
vector<int> ad[max_nd], g[max_nd];
vector<pair<int, int>> es;
bool vis[max_nd], bd[max_nd];
char s[max_m + 1];
int fnd(int x) { return x == dsu[x] ? x : (dsu[x] = fnd(dsu[x])); }
int gid(char c) {
return find(dr, dr + drs, c) - dr;
}
void updmsk(int& mk, int d) {
// cerr << mk << " " << d << " ";
mk = (mk && d ? mk | d : 0);
// cerr << mk << endl;
}
bool dok(int rx, int x, int y) {
return c[cmk[rx]] >= d[x][y];
}
void push(int rt, int rx, int x, int y)
{
// cerr << rt << " " << x << " " << y << " " << cmk[rx] << " " << c[cmk[rx]] << endl;
dsu[rx] = rt;
ad[rt].push_back(rx);
if (dok(rx, x, y))
g[rt].push_back(rx);
}
void dfs(int id)
{
st[id] = ind++, vis[id] = 1;
// cerr << id << endl;
while (!g[id].empty())
{
int dst = g[id].back() % nm;
// cerr << id << " " << dst << endl;
g[id].pop_back();
// if (fnd(dst) == fnd(id))
// continue;
es.emplace_back(id, dst);
if (!vis[dst])
{
// cerr << id << " --> " << dst << endl;
par[dst] = id;
dfs(dst);
continue;
}
if (!(st[fnd(dst)] <= st[id] && ed[id] <= ed[fnd(dst)]))
continue;
// cerr << dst << " " << id << endl;
while (fnd(dst) != fnd(id))
{
int x = fnd(id), y = fnd(par[x]), inv = 0;
if (ssz(ad[y]) < ssz(ad[x]))
swap(x, y), inv = 1;
g[x].clear();
for (auto p : ad[x])
dsu[p] = p;
for (auto p : ad[x])
{
// cerr << p << endl;
int rx = p % nm, cx = rx / m, cy = rx % m;
bool ok = 1;
for (int i = 0, tx = rx; i <= drs; i++, tx += nm)
if (fnd(tx) == y)
{
ok = 0;
bool pok = dok(tx, cx, cy);
// cerr << "> " << p << " " << tx << " " << cx << " " << cy << endl;
updmsk(cmk[tx], cmk[p]);
if (dok(tx, cx, cy) && !pok)
g[y].push_back(tx);
break;
}
if (ok)
{
// cerr << "res " << cx << " " << cy << endl;
push(y, p, cx, cy);
}
}
ad[x].clear();
// cerr << x << " " << y << " merged" << endl;
if (inv)
swap(x, y), swap(ad[x], ad[y]), swap(g[x], g[y]);
dsu[x] = y, siz[y] += siz[x];
}
// cerr << "? " << fnd(id) << endl;
// for (auto p : g[fnd(id)])
// cerr << p % nm << " ";
// cerr << endl;
// for (auto p : ad[fnd(id)])
// cerr << p << " ";
// cerr << endl;
}
ed[id] = ind;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, sl;
cin >> sl >> n >> m >> s;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
cin >> d[i][j];
if (d[i][j] == 0)
d[i][j] = INF;
}
nm = n * m;
for (int i = 0; i < sdr; i++)
{
int j = 0;
for (; j < sl && ((i >> gid(s[j])) & 1); j++);
if (j == sl)
{
c[i] = INF - 1;
continue;
}
c[i] = j;
int sp = j, k = j;
// cerr << "??? " << i << " " << j << endl;
while (k < sl)
{
for (j = k; j < sl && !((i >> gid(s[j])) & 1); j++);
for (k = j; k < sl && ((i >> gid(s[k])) & 1); k++);
// cerr << j << " " << k << endl;
chmax(c[i], k - j);
}
chmax(c[i], k - j + sp);
// cerr << i << " " << c[i] << endl;
}
for (int i = 0, x = 0; i < n; i++)
for (int j = 0; j < m; j++, x++)
for (int k = 0, tx = x + nm; k < drs; k++, tx += nm)
cmk[tx] = (1 << k);
iota(dsu, dsu + n * m * (drs + 1), 0);
fill(siz, siz + n * m, 1);
for (int i = 0, x = 0; i < n; i++)
for (int j = 0; j < m; j++, x++)
{
if (i < n - 1) push(x, x + m + nm, i + 1, j);
if (j) push(x, x - 1 + nm * 2, i, j - 1);
if (i) push(x, x - m + nm * 3, i - 1, j);
if (j < m - 1) push(x, x + 1 + nm * 4, i, j + 1);
}
fill(ed, ed + n * m, INF);
for (int i = 0, x = 0; i < n; i++)
for (int j = 0; j < m; j++, x++) if (!vis[x] && d[i][j] != INF)
dfs(x);
for (auto [x, y] : es)
if (fnd(x) != fnd(y))
bd[fnd(x)] = 1;
for (int i = 0, x = 0; i < n; i++)
for (int j = 0; j < m; j++, x++)
if (d[i][j] != INF && !bd[fnd(x)])
{
int id = fnd(x);
// cerr << i << " " << j << endl;
if (siz[id] < mn)
mn = siz[id], mnc = 1;
else if (siz[id] == mn)
mnc++;
}
cout << mn << "\n" << mnc << endl;
return 0;
}
// started coding at: 01-08 22:03:13
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 14
Accepted
Test #1:
score: 14
Accepted
time: 0ms
memory: 15968kb
input:
53768 10 50 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE...
output:
1 10
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 101ms
memory: 112060kb
input:
10 800 800 WWWWEWWEWW 7 3 7 5 10 6 9 6 5 8 1 10 1 6 6 1 8 9 3 7 1 3 1 4 9 3 4 2 5 4 5 7 8 10 4 6 2 8 7 2 1 5 3 10 9 10 1 7 6 2 1 8 3 4 10 5 3 3 3 9 2 2 6 1 6 5 6 3 7 9 7 5 8 5 4 3 7 6 9 3 4 9 1 2 7 1 3 4 6 10 8 4 4 9 1 2 6 1 4 4 10 6 10 4 1 5 1 8 5 2 1 9 4 10 9 2 7 9 4 1 6 5 1 6 6 10 10 1 3 10 6 4 8...
output:
1 230450
result:
ok 2 lines
Test #3:
score: 0
Accepted
time: 96ms
memory: 120428kb
input:
10 800 800 WWWWWWWWWW 15314 11896 14475 25269 31478 32227 37443 24837 1353 32232 8163 3206 34713 17755 6870 20331 29572 19341 12557 36054 14768 990 30502 32464 15439 17070 15514 32216 37546 25514 27706 3028 26652 17247 13171 40866 36133 9550 22005 24048 33764 25331 12936 27462 27217 33096 19096 3919...
output:
1 800
result:
ok 2 lines
Test #4:
score: 0
Accepted
time: 90ms
memory: 122468kb
input:
31 800 800 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...
output:
1 800
result:
ok 2 lines
Test #5:
score: 0
Accepted
time: 83ms
memory: 79188kb
input:
9999 800 800 WWWEEWEEWEWEEEWEEEWWWEWWEEEEEWEEEWWEWWWEWEWEWEEEWWWWWEWEEEEEEWEEWWEWWEEEEWEWWEWWWEEEWWEEWEWWWEWWEWWEEEWWWEWEEWWEWEWWWEWWWEEEWWEEEWWEEEWWWWEWWEWEWWWWEEWEEEWEWWEWEEWEWEEEWEWEEEWWWWEEEEWWWWWWEWWWEWEWWWEWEWWWEWWEEEEWWEEEEEWEWEWWWEWEEEEWEEEEWEEWEEEEEWEWWEEEWWEEEWEEEEWWEWWEEWEEWEWWEWWWEWEEEWE...
output:
1 639810
result:
ok 2 lines
Test #6:
score: 0
Accepted
time: 4ms
memory: 17624kb
input:
10 800 1 EWEWWWWWWW 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 ...
output:
1 392
result:
ok 2 lines
Test #7:
score: 0
Accepted
time: 147ms
memory: 139816kb
input:
100000 800 800 WWEEWEEWEEEWEEWWWWWEEEWWWEEEWEWWEWEEEWWWEEEWEWWWWEEWWEWEEEEEEWWEEEWWWWWWWEWWWEEWWWWWWEEWEWEWEEWEWEWEWWEEEEWEEEEWEWWWWEEEEWWWEWWWEWWEWEWWWEWEWEWWEEEEEEWEEEEEWEEEEEWEEEWEEEEEEEWEWWWEWWWEWWWWEEWWEWEEEWWWWEEEEEEWWWEEEEEWEWEWWEWEEEEEEEWEEWWEWWEEWWEEEEEWWEWEWEEWWEEWEEWEWWWWEEWEWEWEEEEEEEWEW...
output:
800 640000
result:
ok 2 lines
Test #8:
score: 0
Accepted
time: 38ms
memory: 44920kb
input:
100000 500 500 EWWWEWEWEEWWEEEEEWWEWEEWEWWEEWEEEWEWWWWEWEWWWEWWEWEEWWWWWWWEEEEEEEEEWEEEEEEWEWWEEEEEEEWWEEEWWWEEWWEWEEWWEWWWWWWWWEWEEEWEWWWEWEWWEEEEEEEWWEEEWWWEEWWEEEWEWEWEWWWEWWWEEEWEEWWWWEWWEWWEWWEEEEWWEEWEEEEWEEWWEEEEWWWEWWWEWEWWEWWWEWEEEEEWWWEWEWEEEWWWEEEWEWWWEEWEWEEEWWWWEWEEWWEEWEEEWEWEWWEWEWWWE...
output:
1 227098
result:
ok 2 lines
Subtask #2:
score: 6
Accepted
Test #9:
score: 6
Accepted
time: 3ms
memory: 15856kb
input:
10 10 10 NNNNSENESS 3 2 0 0 1 3 2 3 1 2 3 3 2 0 5 2 4 0 5 1 5 1 2 3 0 4 4 0 1 0 5 0 1 0 2 4 2 2 0 3 0 1 0 1 4 0 1 4 1 0 3 5 5 0 2 5 3 0 3 4 5 3 1 0 5 4 4 0 4 4 1 0 2 0 5 4 0 2 3 0 4 2 0 2 3 0 2 5 5 4 3 0 2 0 5 4 5 4 0 5
output:
1 33
result:
ok 2 lines
Test #10:
score: 0
Accepted
time: 4ms
memory: 16032kb
input:
100000 10 10 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...
output:
1 10
result:
ok 2 lines
Test #11:
score: 0
Accepted
time: 12ms
memory: 16084kb
input:
100000 11 11 SWNESSSWNSEWNSNESSNWEWEWNSNNSWSSWSEEWNENWSWNNEWWSWNSESSEWENNESSENEEEESEESEWENEWSNSNNSSNNSWSNNSNESWEWSENNSESEEWWNESSNNWWSNWNNWNWNWWSEENNNWESSWNWNSEWWNWNNWSWSEWSENSNWNWNNEESSSENWWESSWEESWWENSSENWNNEESWENWSSSWEEWNWEWNNENNWSWEWSNNEESESNWNSEEENWWESSWEEWWSWESSNNEEWWNSSWSNEWSENSNNSENNSSNSSEEEE...
output:
27 27
result:
ok 2 lines
Test #12:
score: 0
Accepted
time: 4ms
memory: 15948kb
input:
100000 10 10 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE...
output:
1 16
result:
ok 2 lines
Test #13:
score: 0
Accepted
time: 16ms
memory: 16016kb
input:
100000 1 1 WWSSSWEEEEESSNSSSSENWSESSNSWWSWESWSEEWSNSSEESSWESNNNENENWEENSSSSSNENESEESEWWSNNWSEWSWNWESSWNWSEESNSWSWENWEWNWESEWSSNSWENEWNNSWEEWWSSSWNSNWWWNSSWSSNSENESENNNENWESSENNEWENWEENWNWSSSWWWSNWESWEESNNNESNNEESNEWSSNNSSWSSESNSNNWENENEWWWSEESNWEWWNWNNSSNEEWSWNSWEESNSNSNEWNNWWWWSSWSWWESWWENSENWNWNWN...
output:
1 1
result:
ok 2 lines
Test #14:
score: 0
Accepted
time: 13ms
memory: 16440kb
input:
100000 50 50 ENWNNWEESNSNSSESSWNEWWESNWEENNEEWWEWNNESSSEWSWNWEWSSNEEWNSEWSSWNESWSWESEWWSENEWESEWSWSNNWWESSSWSSSESESNSSNESSSWSNWSSSENSWWNWNWNNNSNSNSEENWESENEENNESENSENNWEEESENWSESWSNWNNNSNSNWWENWEEEWSNWWEWSWNSEEEWEWWNSWNNNWWENSNSWWSNNWESNSSSWWNSEWSNWNEEESSEWEESENEESWSNNWSNESEESWEESNWSEEWWSSWESENESSSE...
output:
2500 2500
result:
ok 2 lines
Test #15:
score: 0
Accepted
time: 0ms
memory: 15944kb
input:
100 10 10 NENNWNSNNEWNENENNWWNEWNSNWWSSSNSNESSESWESSNNNNEWSWESNSNWSENWNSESNENWSWEWWWNSNWNWESNSESENNWNNWSSWSNSE 2 1 4 1 4 2 1 3 2 4 1 4 4 4 3 3 4 2 2 1 1 3 1 4 2 2 1 4 2 2 2 3 4 3 3 3 1 2 4 1 2 2 3 4 3 4 4 1 3 4 1 4 4 3 4 4 1 4 4 2 1 4 3 4 1 1 3 3 4 3 4 4 1 2 3 3 2 3 4 4 2 4 2 1 1 3 4 2 4 4 2 1 2 3 4...
output:
1 1
result:
ok 2 lines
Test #16:
score: 0
Accepted
time: 12ms
memory: 15980kb
input:
100000 50 2 ESNNNSWNNESEWSWWWSENWENSWSNSENSWSENWWNEENNWWNESWNWSEWSWWNSSWSSNENSWWWEEEEENSNWWNNESEWSSNSEEENWWNWWNEENSENWSWEWWNNWWNESSSNWNWWSEWEESESNEEEWNNWWEEEESWSEWWNNSNENWWSEEWNWSNWWEEWNSNWWWWWNWWNNSENNEWSEWENSSSSNWSSSNWSNSNEWESEESWWSEEWWWNWWNESNSNSSNEEWSSENNNEEENSNEEEESNSWNNESEENNEESNSSWENSWSWSNSEE...
output:
46 46
result:
ok 2 lines
Test #17:
score: 0
Accepted
time: 4ms
memory: 16252kb
input:
100 47 41 WWENEWENESSWWNESSENWNEWESWNWESNWNWSEWNEWNSWENSWSNNSWWNNENEWNWWWSWSSESSNEEWEENWEWNWENENESEENNWWWNSWEW 1 2 1 1 2 10 1 2 1 1 2 8 2 2 1 1 1 8 1 1 1 2 2 9 2 1 1 1 1 9 2 1 2 2 2 9 1 2 2 2 2 1 1 1 2 1 9 1 2 2 2 2 9 2 1 2 2 2 9 2 1 1 2 1 9 1 1 1 2 1 8 1 2 2 1 1 10 2 2 2 1 1 2 2 1 2 10 1 2 2 1 1 10...
output:
28 56
result:
ok 2 lines
Test #18:
score: 0
Accepted
time: 4ms
memory: 16028kb
input:
100000 10 10 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS...
output:
1 10
result:
ok 2 lines
Test #19:
score: 0
Accepted
time: 0ms
memory: 16244kb
input:
10 50 50 ESSSSSSSEE 4 2 10 7 7 1 8 1 2 4 8 4 4 2 9 7 3 9 7 3 9 3 4 6 7 2 5 2 4 8 5 2 2 10 10 6 2 1 1 5 10 7 3 10 10 10 6 8 7 7 9 3 9 6 1 7 10 9 8 7 2 1 10 8 4 4 10 8 10 5 2 7 6 6 3 10 2 4 1 3 3 2 8 3 9 1 7 2 3 8 7 7 1 5 3 7 5 2 10 5 1 2 10 1 1 4 1 5 1 10 10 10 10 2 7 5 1 8 8 5 5 3 4 5 1 3 5 6 1 6 8 ...
output:
1 545
result:
ok 2 lines
Test #20:
score: 0
Accepted
time: 4ms
memory: 16320kb
input:
100 50 50 WWWNSWNWWESSSESNEWESENENWESESSEENNWNWNSWESENEEEESWEENWSWWWWNEENEEWSSWNWNWNEESEEENWENSENSESSSWNWSSNSW 1 1 2 1 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 2 1 8 2 1 2 2 2 1 2 1 1 2 2 2 1 1 1 1 2 1 1 2 1 1 1 2 1 2 2 2 1 2 1 1 1 2 2 1 1 2 2 1 2 1 2 1 2 1 1 1 2173 2 2 1 1 2 1 2 1 2 1 1 2 2 2 2 1 1 1 1 1 1 1 ...
output:
2500 2500
result:
ok 2 lines
Test #21:
score: 0
Accepted
time: 16ms
memory: 16520kb
input:
100000 50 50 WWSNNSSSSSSSWWWSWSNNNNSSNNSSNWWNSSNNNSSSSWSWWSNNSNWSNWNWNWSSWWNWWNNSWWSSSWSNWNWSWWNNNNWSSSNSSNNNSSSNSWSWSWWWWSSNNNSWNSNSSSWSWNNWNSNNWSNWSSSWSWWSWNWSWWNNNSSWWSNWSWSNWNNWNSNSSSNNNNWNSWWWNNSWNWWNNSWWNNWNWSNSSWNWNWWWSNSWSNWNSWSWSNWNNNWNSNSSWWNSNWSWNWNSWNNSSWNSNNWSNSWWWWSSWSNNNNSSWWWWNSWNWSW...
output:
50 50
result:
ok 2 lines
Test #22:
score: 0
Accepted
time: 15ms
memory: 16424kb
input:
100000 50 50 SWSSSNWSNWNNNSNSSSNNSWNNWNWWNSNNNSNNWNNSNWNWSNSWWNSWWNSSWNWNWSWNNSSNNWSWSNNNNWWSNSSSSWSSWWSNNWWSNNWSSSSSSWNNWSWWSWWWWNSNSNWWWSSWWNNSSWSNWNSNSNNSWSWWWNSWWNSNSSNSWSNNSWNWSSNWWSSSNWNWSWSNSNSSWWNNWWWWNNNSWWWNWWNSWWNNWSNNSNNWNSSNWWNNSSNSSNSSSNWSNSSWWWNNNSSWSWNNSNSNWSNSNSSWSSSSWSWNNNNWSWWSNNW...
output:
1 3
result:
ok 2 lines
Test #23:
score: 0
Accepted
time: 15ms
memory: 16500kb
input:
100000 50 50 NNEENENWWNWNNEEWNNWWWWNENNWWNENWNNWNNWWENEENNNEEEWENEENENWNEEEENNEWEWEWNNWNNNEWNWEWNNENWWWWWEENNNNENWWWNENNENENWENNWNWEEEEEWNWWWEWWEWENEENNWEEWWWEEENWNNEENEEEEEWWWWEEEEWWWEEEEWWNNNNEEEWNEWEWENEWEWNEEWNWENWNWEWENNENNWNWEWWENNEWNNNNNNNENNENNNNWEENNNWWWWNNENEEEWNWNWEWNNWNNENWWWWNWNEENWWWEN...
output:
50 50
result:
ok 2 lines
Test #24:
score: 0
Accepted
time: 15ms
memory: 16404kb
input:
100000 50 50 SESWSSWEWEWSWESWEEEWESESSEWEWWSEEEWSESEWSESWWSWEWSSSWSEWESSWSSWSWWWWESEEWEWEWEEEWEEEWWSEEESSEESEEWSESSWEEEWWWSEWSWWSEWSWWEESSWSEEEEEWSSWEWEEESEEWSSWSEWESEWSSEWWSWEWSWESESEEWEEEWESWEESWSESWWSWSWEWESWESEESESSWSESESESSEEWWSSWESEWSWSSSEWWWWSSESSSEESSWWWSEWSSSSESWSSSSEESWSSEWSSSEEESWESWSEEWE...
output:
1 37
result:
ok 2 lines
Test #25:
score: 0
Accepted
time: 10ms
memory: 16308kb
input:
50000 50 49 SNNWEENNESEEEWSESNWSENSSWNWWENENWWEWSEWEEENSNSWEEEESENEEENNSSSESSNEEWSWEWWNSSWNNNSNNNWSSSNEWSSSESWSSWNSSESSNESESWESSWWSEENWENWWENWEWWNNWNWNWEESSSEWWSSSWNSEESWEENNENWEWNNEESSNWSNWSWWWSENWSESSNNNSESNESNSNSWSSNNSNWWEEESESSNNESSWNEENWEESESWSNWNENWNENEEENNSEEESEWENSESWENENSENSWNEEEEWNNSWNNSNN...
output:
3 915
result:
ok 2 lines
Test #26:
score: 0
Accepted
time: 4ms
memory: 16260kb
input:
2000 50 50 NNWSNWWSWNNSNWNNNENWNSWSENSWWSNWNWSSSWNESNSWSENWSNWWSWWENWSWNENWSWENSSSSWNWSNWESWNSNWESSEEEEEESNWNNESENNWNNESNSWNNNNESSWNNENEWSNESSNWNNENEEWWEWNEWNSSWSSSEWEESSNEWSEWNSSSWWSNEWEEWESENNSNSNWSWWENNWNSWSWNESEWNEWESWESSESWNEWNESNNWESSSSENSSSESNWNSNWSNNSESESSSNWNEEWNWSNNWEEWSEWEENSNWSESSESEWENN...
output:
50 1400
result:
ok 2 lines
Test #27:
score: 0
Accepted
time: 13ms
memory: 16144kb
input:
100000 50 50 NNNNSENESSEEWWNSESWWNNEEWSEWSEWNWNEESWNEENWWNNWWEWWNNENNWSWSNNEENWSNSSNSNSSNSSWESWEWSWWSENWNWSENWWWSSESENNWNNWESNWEEESNESSWEWSSNESSEEEEWEWESNSNWEEWNWNSENSSNNESEEWESENENESSNNSWWEWWNWNEWENSNWENWEENNNSWSENWWSWENNWSESNSNSWSSSENSSSENNWWEESENSSNESNNSESNNWNWNEESEWWSEWWESEWSEEWWSSNENSNWWSNEENEW...
output:
1 2262
result:
ok 2 lines
Subtask #3:
score: 80
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #28:
score: 80
Accepted
time: 203ms
memory: 159160kb
input:
100000 800 800 SSENEWWEWNSESESSNSEESSEEWESWESNNWWNSEWENENSSEEWESNWSNENSSSNNWNENENSNWWNENESNWNEWSEWNENNWWWNSSSWENNWWEWSSWNNSSSNNNESEENWWNWSSWNEWSWNSSWEESESWESWSENNNSWNNWNENNWWWWSEWNEWWEWNESNSNSWWSEEESWWWWSNNNEEWNWWEWENSSNNNSSEWWSWENENNNSWESWEEEWWEEENSSSSNEEWNNNWWWWSEEWNWNENSEWEWNEWSESNEWNNENSNWEWNNSN...
output:
640000 640000
result:
ok 2 lines
Test #29:
score: 0
Accepted
time: 301ms
memory: 150756kb
input:
100000 800 800 NNSWSNENNEWNWWWWEWNWWSNEWWWNSNEWEWSEWWSEESEEWENESSWWSWSSNEESENWENNESWNESSSENWSWWNWNSNSSNWSNEWWSENNWWEWNEWEWNNNNEWSNEESESWEESNSWNEWWWWNWWESNWNNESNEWWEENWSSENSSWNEENESSWNSESESWSSSEWSWSWWNEWWSSWNNWEWNENWNESWNESNSWENWSSNNWSNWNSESWNWNEESWNEWWENEWWNSEEEWWSSWNSSESWNENSWSSNWEENNWWENENNSNWENWW...
output:
1 3
result:
ok 2 lines
Test #30:
score: 0
Accepted
time: 175ms
memory: 160012kb
input:
100000 800 800 NWWWNWENNENNNWWEWWWWNEWWEWWWEWENEWNWNNNEWENEWWNWWNEENNWWWENEENNENEENWWNNEWWEEWNWEENEWWENWNENEEWWNENWEEWWNWWWNWENNEEEEEWWWNENEWEEEEENNNWNEENNWNNWNEWWEEENENENNWEWNNWNWNNNEEWEWEEEENEWWENENNENNWWENWNNEWNNEENWEEENENWNWENNWNWWEEENWEEEWNENEWNNNWNEENNNWNEWNNWNEWNNENWNEWNEWNNWWENENWENWENWWEEWE...
output:
800 800
result:
ok 2 lines
Test #31:
score: 0
Accepted
time: 300ms
memory: 139624kb
input:
100000 779 785 NWNNNNWSENEWWNENWSSESSNWSNWWNEWNSWNNEWSWNNEEWWSWNSWWEESWENNWWSSWNNSWSSEENSEWWNNWSSSWNNEESNWWSWWWNEENESWNNENWESNWWWEWSNNSENNEESNSSSESWWWWSESNNWWENNWEWNSEESWESSSSNNSNSWSNNWEEEWNENWWNSNSWWWENNSSWSEWWNNEENWWEEEEEEWWWSNENSWSESNWSNNWSSNESWNWSNEENWSSNENEWWWSSSEWNNNESEESEWSWSWSSWNWWNEEWNNSWWE...
output:
28 2100
result:
ok 2 lines
Test #32:
score: 0
Accepted
time: 304ms
memory: 141184kb
input:
100 791 797 WWWENSWEEWNESSSSSWSEENENNSWENEEWWEWSNNSESNNNESENESNWSSWNSSWWWSSNEEEWWNESNSNWESSNSNESEENSNNEWNSSWSENS 1 3 3 2 1 9 3 1 3 1 1 9 1 3 1 1 3 8 1 2 1 3 2 8 3 3 2 1 3 9 1 1 1 3 2 8 1 3 2 2 1 9 3 2 2 1 3 8 1 1 1 3 2 9 2 2 2 1 2 9 1 1 3 3 3 8 3 3 2 1 3 8 2 2 2 1 3 9 2 2 2 3 1 9 2 1 3 1 3 8 3 1 1 1...
output:
27 27
result:
ok 2 lines
Test #33:
score: 0
Accepted
time: 98ms
memory: 117696kb
input:
10 800 800 EEEEEEESSS 10 1 6 1 6 8 6 4 7 9 2 10 2 10 8 8 1 9 1 1 2 2 2 2 9 4 4 6 10 7 7 1 6 1 2 5 2 10 6 7 10 1 3 10 7 1 9 9 1 6 10 10 2 2 3 2 4 4 1 1 7 8 8 7 9 7 1 2 5 3 3 8 9 2 4 8 2 2 9 4 6 10 3 9 4 5 3 1 1 1 3 10 5 7 8 2 5 4 10 8 7 9 5 8 9 9 1 4 9 10 8 9 8 9 7 7 1 9 10 1 4 2 3 4 7 8 6 10 6 3 3 2...
output:
1 134814
result:
ok 2 lines
Test #34:
score: 0
Accepted
time: 256ms
memory: 158400kb
input:
100 800 800 NWWSSNENSWNNWEWESESWWSNWWSNESEEWWEEENEWWNNSSNNESNWNNNWSSEEEWENWWNSNESWSNWSNWWWSWESNESSESSSESNEWNSSNN 3 2 2 3 2 2 3 3 1 2 1 3 3 1 2 1 3 2 2 2 3 3 1 3 2 1 2 2 2 3 2 1 3 2 1 1 3 1 3 1 2 2 3 3 2 3 3 2 2 1 2 1 2 2 1 1 2 3 1 3 1 3 3 2 1 2 2 1 1 1 1 2 2 3 3 2 1 1 1 1 2 3 1 3 3 1 1 1 2 3 3 1 1 2...
output:
640000 640000
result:
ok 2 lines
Test #35:
score: 0
Accepted
time: 202ms
memory: 121460kb
input:
200 612 800 NSSEWNSWWNSSWNWWEEWSSWSNESWEWSENEWEWNSNWWEWNNWSSNSENWWNWENSSWESENNWNSWENWWSEWNNSWWWEESWNENWEWNWSNWWEWWSENWNENEENWEEWSEWWESWWWWNNWENEEWSSNWSNWEEWWWNESESSWESEWNSNNENSSNEEEEEENENEWWESNWEEESSNWENEWESENWSW 2 1 2 13 2 2 2 2 2 1 2 2 2 2 1 1 1 2 1 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 1 1 2 1 1 1 1 2 2 ...
output:
489600 489600
result:
ok 2 lines
Test #36:
score: 0
Accepted
time: 299ms
memory: 143752kb
input:
49 800 800 WEEWNNSWSWENSNNWSSESNENNSNSWNSESSSSWWNNSNNEENESWW 2 2 2 2 14194 2 2 1 2 1 13890 2 2 2 6 2 1 6592 14012 7199 2 2 2 1 2 1 2 6313 2 1 2 3 2 1 1 1 2 2 2 2 12166 1 1 1 2 1 1 2 2 1 2 1 1 1 2 1 2 1 2 1 2 2 1 1 1 2 1 1 1 1 2 1 2 2 1 1 1 1 13978 2 1 1 1 1 2 1 1 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2762 435...
output:
768 409344
result:
ok 2 lines
Test #37:
score: 0
Accepted
time: 301ms
memory: 151968kb
input:
100 800 800 SNNSSWNSNWSWNSNWSSSWNESWWENSSNWNEWNEWSEWEESSSSWWNNWWWNNNNSWNWNSSWNSENEWSSWNNNEENWNWNNWNNNWWSNNNNWNSS 1 2 2 2 2 1 1 2 2 2 2 2 2 2 1 2 2 1 2 1 1 2 2 2 2 1 2 2 2 2 1 1 2 1 1 1 2 1 2 1 1 2 1 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 1 1 2 2 1 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 1 1 2 1 1 2 2 1 1 1 2 33834...
output:
225000 450000
result:
ok 2 lines
Test #38:
score: 0
Accepted
time: 192ms
memory: 154240kb
input:
800 800 800 NSNSNENNNNEWSNNENNSSSEWWSNESEENSWWENNNENEWNSNSNWESEWWESENESWWSWENEWWWWSESSENEWSSSWNSEWWNNWSEESSNNNWEEWEENESESSWENNNSENNEWWNWNEEWSSNNWSSNEWEESSNWWWNESNWSESWSSNENSNSWSSWESNNWNESSESWWSWSNWEEWENNNNENNEWWENEENNSWSNNNSWEEESSNSNSWSNSWENSEWSESENWSEWNNENWWWSNESNWSEWSSSWWENNNNSSSNNENEWWNEEEEESSNEW...
output:
635256 635256
result:
ok 2 lines
Test #39:
score: 0
Accepted
time: 171ms
memory: 128620kb
input:
100000 800 800 WSENNSNEESNNWNEENNSSSSSNWESSSSWEEWNENSNSWSWNNSSSSNSSWNEWESNNESEWESESWWSENEWNWEEEWESNWSWNNSENEEWENNSSWENESNEEENESSWESNNWESENWWENNWNESWSSEWNWENEWENSNWNWNESEWSNNNWNSSEWNNSWWSESENNSSEEWENWWWEWWSNSEEWESSNESESWWNWWESNSESEWSWNNNEWWNWWEEWWSNNWESWNENSEWSWWNSENWEWSEENEESNNEWWNNNNEEWESESNNSSWEEN...
output:
2 210940
result:
ok 2 lines
Test #40:
score: 0
Accepted
time: 197ms
memory: 135364kb
input:
100000 800 800 NEWNNNSEWNEWNEWWSWSWNNNWWNSESWEWSEWNNSWWNSWWEWWWNSSSWWWNNWWWWSEESNENWEEWNNWNNESEENSNEENSNENWSNENNENEWWWSESSESNESEEEESNEWWSSNEWENWNNENNWSSWENENESNEEEWWEEESNSESSEWWSEWSNSNWWESWWNSSSSWNWEWWSNWSSNNNSNWENWEESWNNNNEWNSWWWSWSWSNNSWNEWEEESNWENSWSWSWSEWSNNNWNNNEEWWWSWNWWWSSWSSSNEWSSEWEWSEWNSES...
output:
4 251772
result:
ok 2 lines
Test #41:
score: 0
Accepted
time: 99ms
memory: 117976kb
input:
50000 800 800 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS...
output:
1 53315
result:
ok 2 lines
Test #42:
score: 0
Accepted
time: 302ms
memory: 131768kb
input:
100000 800 749 EWNSSNSNESNNSNSNEWEWSSEWWENWWESNNENWESESSNESEEWWSSSWEESWSESEWENEEWSNNWEENNESESSWNNESSENEENEEENSEEEESWNSSSWSSESNWNWESWNWENNEWNWWSNSWNSSWNNSNSESNESWSNSSWEESSNWSWWSEWNWWENWWNNESSWNSNSWEWNNWNNWSNNEWEWNSSNSSENWWESNSSSNWENNWNEWNESSESSNWNESWWNNSSEWSWWWSENNNNEWSNESENNEENENWSWWSEWSEWSNSNNWEESE...
output:
1 1767
result:
ok 2 lines
Test #43:
score: 0
Accepted
time: 289ms
memory: 156848kb
input:
100000 800 800 SNSWWNNSSSWNWNNNSSWWWNSSWWSWWWWWWWSSNNNSWNNSNNSWNSNWNNSSWWSWSWWNSNWNSWNSSNSWWWNSSWWSSSWWSNNNNSNNNWSSWNWNSSSSNSNWSSNSSSSNSSWSSWWWNSNWNNSSNSNNNWNSNNWWNNNNWWSNWSSWSSWWNSSSWSWSWWSSSNNSNNNNWSWWSSNWSSSNWWWWNNWWSSWWNWNSNSWSNSWWWWNWWSNNNNWWSWWNWNSWWNNSNSWNNNSWWSNNNNNSWWWNSSNSNNWNNWNNSNSWSNWWW...
output:
1 1054
result:
ok 2 lines
Test #44:
score: 0
Accepted
time: 39ms
memory: 40720kb
input:
100000 500 500 SSENEWWEWNSESESSNSEESSEEWESWESNNWWNSEWENENSSEEWESNWSNENSSSNNWNENENSNWWNENESNWNEWSEWNENNWWWNSSSWENNWWEWSSWNNSSSNNNESEENWWNWSSWNEWSWNSSWEESESWESWSENNNSWNNWNENNWWWWSEWNEWWEWNESNSNSWWSEEESWWWWSNNNEEWNWWEWENSSNNNSSEWWSWENENNNSWESWEEEWWEEENSSSSNEEWNNNWWWWSEEWNWNENSEWEWNEWSESNEWNNENSNWEWNNSN...
output:
1 227231
result:
ok 2 lines