QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#211058#6329. Colorful Graphhos_lyricAC ✓623ms61372kbC++147.3kb2023-10-12 06:35:152023-10-12 06:35:15

Judging History

你现在查看的是最新测评结果

  • [2023-10-12 06:35:15]
  • 评测
  • 测评结果:AC
  • 用时:623ms
  • 内存:61372kb
  • [2023-10-12 06:35:15]
  • 提交

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")


template <class Flow> struct MaxFlow {
  // Watch out when using types other than int and long long.
  static constexpr Flow FLOW_EPS = 1e-10L;
  static constexpr Flow FLOW_INF = std::numeric_limits<Flow>::max();
  
  int n, m;
  vector<int> ptr, nxt, zu;
  vector<Flow> capa;

  explicit MaxFlow(int n_) : n(n_), m(0), ptr(n_, -1) {}
  void ae(int u, int v, Flow w0, Flow w1 = 0) {
    assert(0 <= u); assert(u < n);
    assert(0 <= v); assert(v < n);
    assert(0 <= w0);
    assert(0 <= w1);
    nxt.push_back(ptr[u]); zu.push_back(v); capa.push_back(w0); ptr[u] = m++;
    nxt.push_back(ptr[v]); zu.push_back(u); capa.push_back(w1); ptr[v] = m++;
  }

  vector<int> see, lev, que;

  Flow augment(int u, int t, Flow limFlow) {
    if (u == t) return limFlow;
    for (int &i = see[u]; ~i; i = nxt[i]) if (capa[i] > FLOW_EPS) {
      const int v = zu[i];
      if (lev[u] < lev[v]) {
        const Flow f = augment(v, t, min(limFlow, capa[i]));
        if (f > FLOW_EPS) { capa[i] -= f; capa[i ^ 1] += f; return f; }
      }
    }
    return 0;
  }
  bool bfs(int s, int t) {
    for (int u = 0; u < n; ++u) { see[u] = ptr[u]; lev[u] = -1; }
    auto head = que.begin(), tail = que.begin();
    for (lev[*tail++ = s] = 0; head != tail; ) {
      const int u = *head++;
      for (int i = ptr[u]; ~i; i = nxt[i]) if (capa[i] > FLOW_EPS) {
        const int v = zu[i];
        if (!~lev[v]) {
          lev[*tail++ = v] = lev[u] + 1;
          if (v == t) return true;
        }
      }
    }
    return false;
  }
  Flow run(int s, int t, Flow limFlow = FLOW_INF) {
    see.resize(n); lev.resize(n); que.resize(n);
    Flow flow = 0;
    for (; flow + FLOW_EPS < limFlow && bfs(s, t); ) {
      for (Flow f; (f = augment(s, t, limFlow - flow)) > FLOW_EPS; flow += f) {}
    }
    return flow;
  }
};

////////////////////////////////////////////////////////////////////////////////


struct Scc {
  int n;
  vector<int> as, bs;
  vector<int> ptr, zu, us;

  int l;
  vector<int> ids;
  int operator[](int u) const { return ids[u]; }

  explicit Scc(int n_) : n(n_), as(), bs(), l(-1) {}
  void ae(int u, int v) {
    assert(0 <= u); assert(u < n);
    assert(0 <= v); assert(v < n);
    as.push_back(u);
    bs.push_back(v);
  }

  void dfs0(int u) {
    if (!ids[u]) {
      ids[u] = -1;
      for (int i = ptr[u]; i < ptr[u + 1]; ++i) dfs0(zu[i]);
      us.push_back(u);
    }
  }
  void dfs1(int u) {
    if (!~ids[u]) {
      ids[u] = l;
      for (int i = ptr[u]; i < ptr[u + 1]; ++i) dfs1(zu[i]);
    }
  }
  void run() {
    const int m = as.size();
    ptr.resize(n + 2);
    zu.resize(m);
    for (int u = 0; u < n + 2; ++u) ptr[u] = 0;
    for (int i = 0; i < m; ++i) ++ptr[as[i] + 2];
    for (int u = 2; u < n + 1; ++u) ptr[u + 1] += ptr[u];
    for (int i = 0; i < m; ++i) zu[ptr[as[i] + 1]++] = bs[i];
    ids.assign(n, 0);
    us.clear();
    for (int u = 0; u < n; ++u) dfs0(u);
    for (int u = 0; u < n + 2; ++u) ptr[u] = 0;
    for (int i = 0; i < m; ++i) ++ptr[bs[i] + 2];
    for (int u = 2; u < n + 1; ++u) ptr[u + 1] += ptr[u];
    for (int i = 0; i < m; ++i) zu[ptr[bs[i] + 1]++] = as[i];
    l = 0;
    for (int j = n; --j >= 0; ) if (!~ids[us[j]]) { dfs1(us[j]); ++l; }
  }

  vector<vector<int>> group() const {
    assert(~l);
    vector<vector<int>> uss(l);
    for (int u = 0; u < n; ++u) uss[ids[u]].push_back(u);
    return uss;
  }
};


vector<int> uf;
int root(int u) {
  return (uf[u] < 0) ? u : (uf[u] = root(uf[u]));
}
bool connect(int u, int v) {
  u = root(u);
  v = root(v);
  if (u == v) return false;
  if (uf[u] > uf[v]) swap(u, v);
  uf[u] += uf[v];
  uf[v] = u;
  return true;
}


namespace recover {
int n;
vector<vector<int>> graph;
vector<pair<int, int>> sts;
void init(int n_) {
  n = n_;
  graph.assign(n, {});
  sts.clear();
}
void ae(int u, int v) {
  graph[u].push_back(v);
}
void dfs(int s, int snk, int u) {
  if (!graph[u].empty()) {
    const int v = graph[u].back();
    graph[u].pop_back();
    if (v == snk) {
      sts.emplace_back(s, u);
    } else {
      dfs(s, snk, v);
    }
  }
}
void run(int src, int snk) {
  for (; !graph[src].empty(); ) {
    const int u = graph[src].back();
    graph[src].pop_back();
    dfs(u, snk, u);
  }
}
}  // recover


int N, M;
vector<int> A, B;

int main() {
  for (; ~scanf("%d%d", &N, &M); ) {
    A.resize(M);
    B.resize(M);
    for (int i = 0; i < M; ++i) {
      scanf("%d%d", &A[i], &B[i]);
      --A[i];
      --B[i];
    }
    
    Scc scc(N);
    for (int i = 0; i < M; ++i) {
      scc.ae(A[i], B[i]);
    }
    scc.run();
// cerr<<"group() = "<<scc.group()<<endl;
    
    const int n = scc.l;
    MaxFlow<int> mf(2 + n + n);
    for (int x = 0; x < n; ++x) {
      mf.ae(0, 2 + x, 1);
      mf.ae(2 + n + x, 2 + x, n);
      mf.ae(2 + n + x, 1, 1);
    }
    for (int i = 0; i < M; ++i) {
      const int x = scc[A[i]];
      const int y = scc[B[i]];
      if (x != y) {
        mf.ae(2 + x, 2 + n + y, n);
      }
    }
    const int tof = mf.run(0, 1);
// cerr<<"tof = "<<tof<<endl;
    
    recover::init(mf.n);
    for (int u = 0; u < mf.n; ++u) {
      for (int i = mf.ptr[u]; ~i; i = mf.nxt[i]) if (!(i & 1)) {
        for (int f = 0; f < mf.capa[i ^ 1]; ++f) {
          recover::ae(u, mf.zu[i]);
        }
      }
    }
// cerr<<"graph = "<<recover::graph<<endl;
    recover::run(0, 1);
// cerr<<"sts = "<<recover::sts<<endl;
    uf.assign(n, -1);
    for (const auto &st : recover::sts) {
      const int x = st.first - 2;
      const int y = st.second - (2 + n);
      assert(0 <= x); assert(x < n);
      assert(0 <= y); assert(y < n);
      connect(x, y);
    }
    int id = 0;
    vector<int> ids(n, -1);
    for (int x = 0; x < n; ++x) if (uf[x] < 0) {
      ids[x] = id++;
    }
    
    vector<int> ans(N, -1);
    for (int u = 0; u < N; ++u) {
      const int x = scc[u];
      ans[u] = ids[root(x)];
    }
    
    for (int u = 0; u < N; ++u) {
      if (u) printf(" ");
      printf("%d", ans[u] + 1);
    }
    puts("");
    
    assert(id == n - tof);
  }
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3880kb

input:

5 5
1 4
2 3
1 3
2 5
5 1

output:

1 1 1 2 1

result:

ok AC

Test #2:

score: 0
Accepted
time: 0ms
memory: 3840kb

input:

5 7
1 2
2 1
4 3
5 1
5 4
4 1
4 5

output:

1 1 2 1 1

result:

ok AC

Test #3:

score: 0
Accepted
time: 0ms
memory: 4128kb

input:

8 6
6 1
3 4
3 6
2 3
4 1
6 4

output:

4 4 4 4 3 4 2 1

result:

ok AC

Test #4:

score: 0
Accepted
time: 538ms
memory: 39604kb

input:

7000 6999
4365 4296
2980 3141
6820 4995
4781 24
2416 5844
2940 2675
3293 2163
3853 5356
262 6706
1985 1497
5241 3803
353 1624
5838 4708
5452 3019
2029 6161
3849 4219
1095 1453
4268 4567
1184 1857
2911 3977
1662 2751
6353 6496
2002 6628
1407 4623
425 1331
4445 4277
1259 3165
4994 1044
2756 5788
5496 ...

output:

1750 1658 1327 1565 1748 1749 1748 1366 1110 1506 1750 1750 1747 1750 1520 1746 517 1745 1061 25 1258 586 1748 1499 1663 1744 1743 1745 1405 1742 1172 1199 1741 1740 1358 1359 286 1739 1748 1738 1526 1158 1737 535 1736 688 1735 1748 1734 1733 890 1732 1293 1748 1648 187 1750 1731 1031 1730 1193 1748...

result:

ok AC

Test #5:

score: 0
Accepted
time: 623ms
memory: 34448kb

input:

7000 6999
4832 1603
5984 6985
5355 3687
6007 2170
5984 3486
3267 2189
538 2123
4343 4553
5855 6168
5984 257
4239 2304
5984 2063
3298 1869
5984 6353
5984 2018
5984 5387
5984 3382
3164 3978
2690 2816
4810 2638
5984 3773
5984 1634
5984 2786
5984 3671
5984 5140
2943 5721
5984 414
1105 4060
3093 796
5984...

output:

2294 2294 619 466 1724 2294 887 672 2294 2294 2294 2294 2294 1275 2294 2333 2294 2294 2294 2331 2332 1714 2096 1233 2294 2294 849 1897 783 1569 1665 2294 2294 2294 2331 2330 1372 2294 117 135 2329 238 1188 2328 1847 2327 21 2326 2325 1574 18 1534 2304 204 1812 2294 2324 2323 2322 2321 2294 2294 2320...

result:

ok AC

Test #6:

score: 0
Accepted
time: 573ms
memory: 34192kb

input:

7000 6999
1649 5337
1701 3344
4394 2172
3330 39
5932 1141
5381 5340
5453 3300
125 2172
6810 5263
804 2172
6635 2172
676 4740
3015 1183
1710 5769
611 5915
3419 1581
2094 2172
4508 2172
6604 2433
6113 1466
1604 696
1518 1123
1287 2940
4825 2172
5130 4524
2693 2172
106 2172
5157 2172
3693 2172
5198 217...

output:

2333 2332 464 319 2256 2331 165 1084 1720 2330 1209 2329 2328 1456 1755 529 2327 385 1158 1690 1683 2326 2325 1446 1840 266 1643 413 2324 2323 1792 2322 1334 1621 1410 2321 1970 421 94 2320 2126 2073 1741 2319 1998 1177 1705 303 2318 2298 377 2317 1672 1538 1695 323 2043 2316 583 2329 2315 2282 2314...

result:

ok AC

Test #7:

score: 0
Accepted
time: 410ms
memory: 61372kb

input:

7000 6999
2896 6321
881 2623
5058 2623
4833 2623
4669 2623
4781 5007
1447 2623
4781 4768
4781 3834
2758 4792
797 5055
3784 2623
4781 5510
6606 3040
597 3459
4136 2037
1291 3989
4781 837
4781 4379
5637 2053
1642 2665
4781 4664
4781 952
4924 2511
4781 4201
4781 2352
4781 5362
3901 197
137 2623
2706 19...

output:

1750 1750 1750 1750 1750 1750 1750 1749 354 1748 1750 1750 1750 1750 1750 1443 1548 1750 1750 1747 1345 1750 795 607 1367 1504 1428 1007 1746 1745 1750 1744 1750 1750 1750 1750 1536 226 1750 699 1750 1750 879 1750 1743 1750 1742 1750 1741 1750 1750 1750 1740 1739 1750 1738 1750 1750 783 1750 1737 17...

result:

ok AC

Test #8:

score: 0
Accepted
time: 0ms
memory: 5088kb

input:

6999 6998
1269 3969
1269 2429
1269 2609
1269 2515
1269 6166
1269 6614
3108 1269
2105 1269
4670 1269
578 1269
4661 1269
1421 1269
2576 1269
6152 1269
1269 6636
3011 1269
305 1269
5189 1269
1683 1269
6861 1269
1269 5798
1499 1269
282 1269
914 1269
80 1269
677 1269
701 1269
1269 359
6521 1269
1269 1754...

output:

3499 3498 3497 3496 1073 3495 3494 2667 1045 3245 3304 2946 3493 434 3492 3491 3490 976 3489 3488 125 3487 3486 2692 3485 3484 3483 3482 3481 1675 3480 1067 3479 3478 3194 3477 1614 459 3476 515 971 3475 3474 1204 3088 3473 3472 3471 3470 3469 2522 1552 3493 3468 263 2395 3467 3466 3465 3464 3463 57...

result:

ok AC

Test #9:

score: 0
Accepted
time: 2ms
memory: 4524kb

input:

7000 0

output:

7000 6999 6998 6997 6996 6995 6994 6993 6992 6991 6990 6989 6988 6987 6986 6985 6984 6983 6982 6981 6980 6979 6978 6977 6976 6975 6974 6973 6972 6971 6970 6969 6968 6967 6966 6965 6964 6963 6962 6961 6960 6959 6958 6957 6956 6955 6954 6953 6952 6951 6950 6949 6948 6947 6946 6945 6944 6943 6942 6941 ...

result:

ok AC

Test #10:

score: 0
Accepted
time: 3ms
memory: 5684kb

input:

7000 6999
3138 1903
3285 5919
6182 1430
1164 961
1577 6445
1390 3384
935 5723
6614 6387
4799 2877
3915 5128
5366 5455
2287 3941
2053 2326
4022 6993
488 2922
4327 4701
4674 3221
1666 4773
4356 3232
3888 937
4318 6942
577 1299
4491 1938
5154 1254
790 5532
4286 5478
2918 6725
2853 304
2554 5207
5140 77...

output:

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok AC

Test #11:

score: 0
Accepted
time: 2ms
memory: 5152kb

input:

7000 6999
33 3147
5877 4807
3116 4168
1651 2456
624 1740
6440 3058
6414 489
1023 2523
706 93
5523 598
4211 6063
3570 6840
6566 2971
6614 1907
5893 4389
4022 2527
5096 2345
4682 2134
188 5597
695 4285
1344 3832
3534 879
6574 6252
3759 3444
2167 85
5630 6600
3158 4404
6389 689
4871 6719
4295 6008
3437...

output:

24 24 24 24 24 24 24 24 24 24 24 24 24 71 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 70 24 24 24 24 24 24 24 24 24 24 24 69 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 68 24 24 24 ...

result:

ok AC

Test #12:

score: 0
Accepted
time: 2ms
memory: 5144kb

input:

7000 6999
1247 5150
3318 2013
5686 1615
6145 6521
5717 94
2787 3443
2648 4875
5332 5934
1897 1651
4640 2183
1750 6964
148 5228
745 2814
474 1165
496 6735
180 3412
2723 3374
6200 4361
497 5328
1928 5998
5648 1261
5090 4723
1715 706
2499 897
6569 6204
6039 2787
2882 5044
5767 4256
975 1877
1857 4453
6...

output:

274 274 274 274 274 274 7 274 7 274 7 274 7 274 274 274 274 274 274 274 274 274 274 274 274 274 274 274 7 273 274 274 274 274 274 274 7 274 7 274 274 274 7 274 274 274 274 274 274 274 274 272 274 274 274 274 274 7 7 274 274 7 274 274 274 274 274 274 7 7 274 7 7 274 274 274 274 274 271 274 274 274 27...

result:

ok AC

Test #13:

score: 0
Accepted
time: 3ms
memory: 4888kb

input:

7000 6999
2349 199
5295 2831
6143 2006
3212 3198
6956 3807
732 4838
5069 1027
5744 3479
6 5301
5687 4452
4201 1151
1353 4884
548 3506
6094 4799
4950 6939
5234 817
652 1314
979 6984
5771 1851
398 1322
2294 4298
847 3929
6833 183
2904 6745
4797 3874
94 315
4282 582
6591 5037
962 147
799 908
2593 5547
...

output:

1049 1049 993 1049 1049 993 993 993 993 993 993 1049 993 993 993 1049 993 993 1048 993 993 1049 1049 1047 993 1049 1049 1046 993 1049 993 993 993 993 1049 993 1049 993 993 993 993 1049 993 993 1049 1045 993 1049 1049 1044 993 993 1043 1042 993 1041 993 993 1040 993 1049 1049 993 1049 1049 993 993 99...

result:

ok AC

Test #14:

score: 0
Accepted
time: 3ms
memory: 5224kb

input:

7000 6999
3409 1629
2076 6412
4997 1078
6320 626
4501 1104
4173 1774
5507 2375
2299 5115
4321 127
1192 6635
1909 3398
2972 499
862 5024
421 2931
861 1536
902 3813
659 4514
1843 3035
3669 1228
1724 1880
34 706
133 3468
6116 585
5073 1461
5667 3405
715 4834
6915 3007
1736 6108
3264 2870
2393 6474
2108...

output:

2603 2603 2618 2603 2603 2617 2603 2603 2603 2616 2603 2615 2603 2614 2613 2603 2603 2603 2603 2603 2603 2612 2603 2603 2611 2603 2610 2609 2608 2607 2603 2606 2603 2605 2603 2603 2603 1148 2604 2603 2603 1296 2323 2603 2603 2603 2603 2110 2603 2603 1999 2603 2603 2603 2603 166 2603 2603 2602 2601 2...

result:

ok AC

Test #15:

score: 0
Accepted
time: 3ms
memory: 5060kb

input:

7000 7000
2048 5882
6801 2408
3225 2608
1441 5079
497 6253
557 5589
2535 6257
4800 2595
4713 1286
4759 6636
4303 4296
6195 2048
6994 2987
1249 3044
1036 10
6472 2076
1996 1086
1279 1486
6100 369
4797 3437
2493 4576
2944 5601
197 5582
5488 5035
4023 659
2651 5024
2257 5710
1001 3941
446 4815
687 702
...

output:

3009 3008 3007 3006 3005 3004 1029 3001 3000 2437 2999 2645 2996 2706 1080 1145 2988 2987 1665 109 1969 2986 2229 671 2985 2837 2516 1425 2982 1682 2044 2976 2426 1421 1414 2974 2973 2972 1292 2971 2970 2617 2969 289 1941 2968 2967 2303 1608 2740 2965 1390 2964 1166 1753 1529 2962 862 2347 410 2960 ...

result:

ok AC

Test #16:

score: 0
Accepted
time: 6ms
memory: 5048kb

input:

6993 7000
6927 2941
6385 1428
6914 2553
2474 4268
2068 1640
2298 6960
6201 1806
4912 59
4407 5504
1595 6868
6378 2515
3713 3724
2995 2589
2314 2932
4042 431
6322 4178
5947 6850
6192 735
3802 1043
4982 1575
311 6496
5006 3191
6473 3084
2387 4706
6632 5901
5113 3066
5248 1274
5671 717
1311 4261
1960 3...

output:

1213 1791 2993 432 1137 2992 484 2991 1165 2990 2989 2352 2869 2980 2979 2974 23 2973 1375 1636 2971 2970 2084 2311 2974 2058 154 1658 174 2073 2967 2966 2965 2854 2964 2954 1808 1585 2963 1658 2952 2951 1177 963 2941 83 1722 2950 2949 500 2948 1341 2943 2607 2942 2941 2940 2534 79 2691 2958 1143 26...

result:

ok AC

Test #17:

score: 0
Accepted
time: 8ms
memory: 5024kb

input:

6930 7000
3746 2945
3523 6758
4109 1106
2732 5415
2423 844
3702 6309
6503 5362
5997 6294
5688 1396
4842 1764
4780 4521
1254 826
37 4653
2138 2358
6345 1223
1385 2341
5261 5867
4815 2918
4209 696
4235 2314
3680 2919
5605 5155
6643 3391
2691 1418
6289 2093
1970 1804
828 5237
4025 1111
1164 5519
5889 2...

output:

2927 2925 2924 302 1189 2733 2921 2920 2672 49 2227 2415 402 2919 2918 2915 2914 749 1328 502 1892 2913 1000 1440 2912 2911 107 2910 1608 2908 2352 2906 2905 2168 775 993 2904 260 2872 2903 2902 2901 1871 2900 2464 976 2899 527 1698 1149 358 2895 731 2894 2886 2885 2883 2882 2581 2757 1579 2881 2193...

result:

ok AC

Test #18:

score: 0
Accepted
time: 7ms
memory: 5124kb

input:

6300 7000
5921 5466
723 5843
1084 3134
3865 5742
5492 2885
328 4408
6055 4074
3702 2240
1342 2353
295 734
553 48
4454 2980
1248 4460
5023 19
2784 441
105 844
6048 1773
4840 5260
3910 1292
5578 2864
4978 3116
6182 4962
2575 1661
5030 435
5861 4709
5033 358
1746 5816
5877 3921
2678 5679
1784 33
207 59...

output:

2088 2392 244 2391 961 2390 2184 2277 2389 2172 2388 2387 74 2386 2385 2384 2383 2379 2238 2070 2378 2377 174 2376 409 2375 1387 1569 186 636 1800 1240 685 2373 2372 2371 523 1704 1026 2081 1068 291 1264 1999 2340 2370 698 1206 2369 1320 516 512 2364 2371 2053 2361 2360 1157 844 971 1888 1264 2356 2...

result:

ok AC

Test #19:

score: 0
Accepted
time: 0ms
memory: 4264kb

input:

2800 7000
218 2670
1436 2268
38 2781
55 783
549 1627
660 1609
2268 2645
1376 1395
2747 71
785 1451
1096 2633
2655 2557
1569 307
16 56
1993 2751
1154 2760
478 2452
1841 2764
155 1781
215 1432
1788 2548
193 2665
167 1038
2425 2314
439 1615
269 1187
1222 245
1638 2016
2352 1511
2333 1564
1667 2576
1751...

output:

254 254 254 254 241 254 254 253 254 254 254 254 254 254 254 254 254 254 252 254 254 254 254 227 254 254 254 254 254 254 46 251 254 254 254 14 254 254 254 254 254 254 254 254 80 254 254 254 254 250 254 213 254 254 254 254 254 254 254 254 254 249 254 248 254 254 226 79 184 254 254 254 247 254 254 246 ...

result:

ok AC

Test #20:

score: 0
Accepted
time: 5ms
memory: 5044kb

input:

7000 7000
4828 3840
4148 2678
1645 2954
5516 1204
4664 285
904 1978
1434 1688
1902 5205
1324 4512
1722 1246
6724 5227
524 196
937 6286
6609 4724
5408 5610
4405 2463
5493 1567
2625 2894
2378 3685
5399 6872
6475 6546
5697 1265
1811 1314
2347 3005
6245 271
2414 434
3492 6948
4447 599
793 6107
464 5353
...

output:

3618 3371 1162 3617 3116 709 3616 1886 3615 3614 3297 3487 1707 3612 3611 1836 720 3140 3610 2222 1919 3609 780 3608 1880 1880 2016 3607 3606 3604 2235 2347 3603 1364 261 3602 3601 1231 3600 3198 3599 1415 3598 3596 2883 3595 3594 794 3593 1709 2243 3592 3591 2967 3590 3589 176 3588 830 3587 3586 35...

result:

ok AC

Test #21:

score: 0
Accepted
time: 5ms
memory: 5000kb

input:

6993 7000
1576 5558
2853 3183
212 2572
1001 75
3386 6483
401 22
489 6768
6520 1684
6439 6188
3810 6414
4088 1924
371 1666
2822 410
5664 1676
1043 1365
384 2688
4179 6357
6466 4630
2829 4371
116 6817
1535 6172
751 5740
499 2484
2013 4576
6556 670
6177 3847
5344 4280
6103 1055
496 4934
6639 217
6606 4...

output:

904 3660 3658 2478 3657 2586 2985 1779 3656 3655 3654 3653 3652 3651 1423 1167 2022 3650 23 2495 3649 1951 2858 241 1152 1632 3648 2296 3143 3647 3646 1653 2219 3645 3644 3643 2953 3642 2704 3641 1724 502 3640 3639 2634 3638 3637 3636 2326 1337 3635 3132 89 3634 3633 3632 3103 2717 3086 3631 3630 36...

result:

ok AC

Test #22:

score: 0
Accepted
time: 5ms
memory: 5044kb

input:

6930 7000
2378 5636
2953 3870
897 2126
112 1756
3302 5114
4591 5593
5408 4899
1204 6313
6254 2214
5360 6680
2354 5865
5959 5969
1628 5317
6396 1006
2402 1767
1921 3373
3758 312
2167 5711
4119 6585
19 3951
1714 1206
3754 4376
4516 307
6312 165
5721 2470
4828 4842
4520 4310
1922 4946
2006 3856
1218 58...

output:

3431 3622 3621 3620 3619 1129 3618 1102 3617 3616 3559 3615 2260 2543 3612 3611 3609 1740 3608 3607 978 321 3606 3117 3604 2864 975 541 1709 3603 3602 3601 523 1840 3599 1787 3598 575 3597 3596 3594 3593 53 3592 1804 3591 3590 3586 3585 3584 2409 82 3583 3582 3581 3580 3579 3578 3577 3576 3575 2799 ...

result:

ok AC

Test #23:

score: 0
Accepted
time: 5ms
memory: 4972kb

input:

6300 7000
1562 45
1716 2699
5291 4828
5063 4588
5888 4130
5901 6109
1476 921
3390 5892
5425 3782
824 5679
2278 6102
6146 5556
4874 2115
2842 2803
1963 5131
3736 2611
320 5272
758 5667
4087 228
5139 760
1812 2968
2897 6117
277 387
336 1322
4319 4597
608 4481
6182 3050
4333 3570
401 1662
3085 3197
537...

output:

3130 3129 1932 1419 3128 2437 298 3127 3057 3126 1808 3125 3123 1362 1758 3122 1499 1666 637 3121 697 3120 3119 3118 2130 3117 1198 3115 1103 1071 663 3113 2808 693 992 1766 3110 3109 1244 2196 3106 2376 3105 3104 3103 1757 3102 2638 3101 2429 3100 3099 355 3097 3079 2355 3096 3095 1399 3094 3093 27...

result:

ok AC

Test #24:

score: 0
Accepted
time: 4ms
memory: 4632kb

input:

2800 7000
931 1154
1783 1159
2515 1596
1734 1277
825 430
938 208
288 684
970 2075
618 2411
2690 500
223 2162
2093 2765
172 1029
832 1571
89 2333
2301 981
1354 1094
1989 137
2340 1804
2600 1249
1714 2343
1043 2738
1375 1239
804 2578
424 1572
568 1945
2233 297
1890 519
1475 944
2732 1123
2012 927
2232...

output:

446 824 496 823 350 820 70 819 449 818 672 416 637 313 817 246 683 38 363 1 816 600 586 812 289 808 190 773 811 324 810 809 325 808 804 803 802 694 436 800 257 792 823 647 799 363 797 796 795 74 794 793 792 661 241 791 449 467 475 790 277 789 759 796 445 788 785 612 67 76 820 534 586 780 779 267 737...

result:

ok AC

Test #25:

score: 0
Accepted
time: 0ms
memory: 3864kb

input:

52 41
18 31
2 5
22 32
1 50
50 29
9 32
44 27
45 17
26 24
18 30
28 25
38 28
5 47
49 38
23 50
8 3
16 24
29 46
7 52
30 38
33 32
39 32
3 18
50 44
1 35
49 37
18 24
29 6
20 39
40 45
33 28
51 52
26 40
38 43
52 45
39 40
42 34
6 45
32 19
20 52
34 28

output:

26 25 21 23 25 27 22 21 20 19 18 17 16 15 14 13 27 21 20 12 11 10 9 13 7 8 9 7 27 21 24 20 7 4 26 6 2 21 12 12 5 4 21 9 27 28 25 3 2 9 1 22

result:

ok AC

Test #26:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

291 56
117 283
21 277
128 22
245 45
8 223
150 129
16 15
224 163
288 76
218 238
25 233
100 262
244 101
76 207
286 80
164 238
165 283
133 251
23 235
22 280
65 205
8 30
66 76
232 90
251 287
80 62
58 218
285 225
247 199
149 34
219 16
286 221
174 248
20 58
169 69
229 119
178 216
152 147
148 189
116 207
7...

output:

245 202 244 243 242 241 240 238 237 236 235 234 233 232 56 56 231 230 229 228 168 132 227 226 225 224 223 222 221 238 220 219 218 217 216 215 214 213 212 211 210 209 208 207 39 206 205 204 203 202 201 200 199 198 197 196 195 228 194 193 192 175 191 190 189 188 187 186 98 185 184 182 181 180 179 188 ...

result:

ok AC

Test #27:

score: 0
Accepted
time: 0ms
memory: 4148kb

input:

26 295
19 5
19 13
10 2
14 13
19 24
20 13
9 3
18 11
13 25
13 14
24 6
1 2
25 6
6 13
7 25
1 9
2 8
6 8
13 18
2 7
11 9
14 12
21 19
17 23
8 14
3 5
22 8
8 3
25 5
24 21
10 3
23 13
24 20
3 21
23 18
7 15
24 18
18 21
18 4
8 12
13 9
12 1
14 9
18 20
9 22
10 25
3 26
2 14
5 20
1 24
24 1
23 6
18 6
21 11
19 4
24 25
...

output:

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

result:

ok AC

Test #28:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

63 1000
22 9
25 11
52 54
34 30
18 8
24 3
42 30
61 51
34 17
36 52
58 9
41 53
19 12
40 3
54 47
23 51
44 59
10 21
35 52
34 56
43 15
39 41
12 37
13 21
55 48
16 57
39 25
26 25
22 57
54 34
63 55
11 27
60 40
41 1
24 59
20 53
14 6
51 35
44 9
47 35
32 39
40 28
9 49
29 27
16 25
56 53
28 56
5 39
35 57
61 37
22...

output:

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

result:

ok AC

Test #29:

score: 0
Accepted
time: 0ms
memory: 4132kb

input:

42 113
29 15
21 15
28 13
30 42
7 33
4 31
16 18
11 36
38 13
33 6
28 27
17 19
21 25
42 4
19 16
8 37
38 4
4 19
20 22
33 27
26 42
31 39
14 29
6 32
20 12
40 6
32 28
23 18
41 22
10 4
7 28
31 13
14 24
37 40
9 20
26 32
13 18
35 29
9 29
34 26
19 32
20 25
34 39
33 23
28 35
35 22
7 16
40 13
39 24
24 20
18 24
4...

output:

2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2

result:

ok AC

Test #30:

score: 0
Accepted
time: 0ms
memory: 3788kb

input:

6 8
5 1
1 5
6 5
4 1
4 3
2 4
5 3
3 4

output:

2 2 2 2 2 1

result:

ok AC

Test #31:

score: 0
Accepted
time: 0ms
memory: 5276kb

input:

7000 6999
6253 1991
6253 4600
1137 6253
1764 6253
6253 908
6253 2205
6253 213
6253 4399
6300 6253
4601 6253
6253 4884
6937 6253
6253 4070
2646 6253
1007 6253
6552 6253
6253 2115
6253 922
6223 6253
6253 2496
3522 6253
2050 6253
6253 763
6803 6253
6253 3847
2816 6253
6253 6297
6253 471
6253 3211
3203 ...

output:

3517 3516 2486 3293 3515 1833 3514 115 1797 3513 3512 2958 1355 3216 3511 395 3510 3509 2896 3508 3507 177 3196 3506 3505 2266 3504 1104 92 2613 1187 1065 3503 3502 3501 2433 3500 439 382 604 921 3499 2174 3498 904 3497 755 3496 3495 3494 722 2454 3493 3492 3491 166 1379 2212 1184 2038 3490 641 965 ...

result:

ok AC