Submission #668729

# Submission time Handle Problem Language Result Execution time Memory
668729 2022-12-04T18:23:24 Z kenken714 Mars (APIO22_mars) C++17
21 / 100
57 ms 2700 KB
#include "mars.h"
#include<vector>
#include<string>
#include<queue>
#include<iostream>
#include<cstdio>
using namespace std;

inline void subf(int y,int x,char a,int n,vector<vector<int>>& m) {
  if(0 <= y && y <= n && 0 <= x && x <= n)m[y][x] = (a=='0'?0:1);
}

int par(int x,vector<int>& p) {
  if(p[x] == x)return x;
  else return p[x] = par(p[x],p);
}

string solve(vector<vector<int>>& m,int n) {
  string res = string(100 ,'0');
  
  int C = n*n;
  vector<int> p(C);
  for(int ii=0;ii<C;ii++)p[ii] = ii;
  for(int y=1;y<n;y++)for(int x=0;x<n;x++) {
    if(m[y][x] && m[y-1][x]) {
      p[par(y*n+x,p)] = par((y-1)*n+x,p);
    }
  }
  for(int y=0;y<n;y++)for(int x=1;x<n;x++) {
    if(m[y][x] && m[y][x-1]) {
      p[par(y*n+x,p)] = par(y*n+x-1,p);
    }
  }
  vector<int> cnt(C,0);
  for(int y=0;y<n;y++)for(int x=0;x<n;x++)if(m[y][x])cnt[par(y*n+x,p)]++;
  int ans = 0;
  for(int ii=0;ii<C;ii++)if(cnt[ii])ans++;
  queue<int> resq;
  while(ans) {
    resq.push(ans&1);
    ans /= 2;
  }
  for(int ii=0;!resq.empty();ii++) {
    res[ii] = '0'+resq.front();
    resq.pop();
  }
  return res;
}

std::string process(std::vector <std::vector<std::string>> a, int i, int j, int k, int n)
{
  int s = 2*n+1;
  string res = string(100 ,'0');
  
  if(n == 1) {
    vector<vector<int>> m(3,vector<int>(3));
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y][x] = (a[y][x][0] == '0'?0:1);
    res = solve(m,3);
  }
  else if(k == 0) {
    for(int ii=0;ii<3;ii++)for(int jj=0;jj<3;jj++)res[ii*3+jj] = a[ii][jj][0];
  }
  else if(n == 2) {
    vector<vector<int>> m(5,vector<int>(5));
    for(int y=0;y<2;y++)for(int x=0;x<2;x++)m[y][x] = (a[0][0][y*3+x] == '0'?0:1);
    for(int y=0;y<2;y++)for(int x=0;x<3;x++)m[y][2+x] = (a[0][2][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<2;x++)m[2+y][x] = (a[2][0][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[2+y][2+x] = (a[2][2][y*3+x] == '0'?0:1);
    res = solve(m,5);
  }
  else if(n == 3) {
    if(k == 1) {
      if(i < 2 && j == 2)res = a[0][2];
      else if(i == 2 && j < 2)res = a[2][0];
      else if(i == 2 && j == 2)res = a[2][2];
      else res = a[0][0];
    }
    else {
      vector<vector<int>> m(7,vector<int>(7));
      for(int y=0;y<1;y++)for(int x=0;x<1;x++)m[y][x] = (a[0][0][y*3+x] == '0'?0:1);
      for(int y=0;y<1;y++)for(int x=0;x<3;x++)m[y][x+1] = (a[0][1][y*3+x] == '0'?0:1);
      for(int y=0;y<1;y++)for(int x=0;x<3;x++)m[y][x+4] = (a[0][2][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<1;x++)m[y+1][x] = (a[1][0][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+1][x+1] = (a[1][1][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+1][x+4] = (a[1][2][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<1;x++)m[y+4][x] = (a[2][0][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+4][x+1] = (a[2][1][y*3+x] == '0'?0:1);
      for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+4][x+4] = (a[2][2][y*3+x] == '0'?0:1);
      res = solve(m,7);
    }
  }
  else if(k == 1) {
    int y = -1,x = -1;
    if(i < s%9) {
      if(i == 0)y = 0;
      else if(i == 2)y = 1;
      else if(i == 4)y = 2;
    }
    else {
      if((s-i)%9 == 0)y = 0;
      else if((s-i)%9 == 7)y = 1;
      else if((s-i)%9 == 5)y = 2;
    }
    if(j < s%9) {
      if(j == 0)x = 0;
      else if(j == 2)x = 1;
      else if(j == 4)x = 2;
    }
    else {
      if((s-j)%9 == 0)x = 0;
      else if((s-j)%9 == 7)x = 1;
      else if((s-j)%9 == 5)x = 2;
    }
    if(y >= 0 && x >= 0)res = a[y][x];
  }
  else if(k == 2) {
    int y = -1,x = -1;
    if(i < s%9) {
      if(i == 0)y = 0;
      else if(i == 1)y = 1;
      else if(i == 2)y = 2;
    }
    else {
      if((s-i)%9 == 0)y = 0;
      else if((s-i)%9 == 8)y = 1;
      else if((s-i)%9 == 7)y = 2;
    }
    if(j < s%9) {
      if(j == 0)x = 0;
      else if(j == 1)x = 1;
      else if(j == 2)x = 2;
    }
    else {
      if((s-j)%9 == 0)x = 0;
      else if((s-j)%9 == 8)x = 1;
      else if((s-j)%9 == 7)x = 2;
    }
    if(y >= 0 && x >= 0)res = a[y][x];
  }
  else if(n == 4) {
    vector<vector<int>> m(9,vector<int>(9));
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y][x] = (a[0][0][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y][x+3] = (a[0][1][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y][x+6] = (a[0][2][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+3][x] = (a[1][0][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+3][x+3] = (a[1][1][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+3][x+6] = (a[1][2][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+6][x] = (a[2][0][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+6][x+3] = (a[2][1][y*3+x] == '0'?0:1);
    for(int y=0;y<3;y++)for(int x=0;x<3;x++)m[y+6][x+6] = (a[2][2][y*3+x] == '0'?0:1);
    res = solve(m,9);
  }
  else if(k == 3) {
    for(int ii=0;ii<3;ii++)for(int jj=0;jj<3;jj++)for(int kk=0;kk<3;kk++)for(int ll=0;ll<3;ll++) {
      res[ii*27+jj*9+kk*3+ll] = a[ii][kk][jj*3+ll];
    }
  }
  else if(n == 5) {
    vector<vector<int>> m(11,vector<int>(11));
    for(int y=0;y<2;y++)for(int x=0;x<2;x++)m[y][x] = (a[0][0][y*9+x] == '0'?0:1);
    for(int y=0;y<2;y++)for(int x=0;x<9;x++)m[y][x+2] = (a[0][2][y*9+x] == '0'?0:1);
    for(int y=0;y<9;y++)for(int x=0;x<2;x++)m[y+2][x] = (a[2][0][y*9+x] == '0'?0:1);
    for(int y=0;y<9;y++)for(int x=0;x<9;x++)m[y+2][x+2] = (a[2][2][y*9+x] == '0'?0:1);
    res = solve(m,11);
  }
  else if(n < 9 && k == n-1) {
    vector<vector<int>> m(n+n+1,vector<int>(n+n+1));
    for(int y=0;y<n+n-8;y++)for(int x=0;x<n+n-8;x++)m[y][x] = (a[0][0][y*9+x] == '0'?0:1);
    for(int y=0;y<n+n-8;y++)for(int x=0;x<9;x++)m[y][x+n+n-8] = (a[0][2][y*9+x] == '0'?0:1);
    for(int y=0;y<9;y++)for(int x=0;x<n+n-8;x++)m[y+n+n-8][x] = (a[2][0][y*9+x] == '0'?0:1);
    for(int y=0;y<9;y++)for(int x=0;x<9;x++)m[y+n+n-8][x+n+n-8] = (a[2][2][y*9+x] == '0'?0:1);
    res = solve(m,n+n+1);
  }
  else if((k*2+s%9-1)/8*9 < 2*n+1) {
    int c = (k*2+s%9-1)/8,y = 0,x = 0;
    if(i == c) {
      if((k*2+s%9+1)/8 > c && (s%9-1)%2 > 0)y = 1;
      else y = 2;
    }
    if(j == c) {
      if((k*2+s%9+1)/8 > c && (s%9-1)%2 > 0)x = 1;
      else x = 2;
    }
    if(i > c)y = 2;
    if(j > c)x = 2;
    res = a[y][x];
  }
  else if(k < n-1) {
    if(i == 0 && j == 0) {
      vector<vector<int>> m(n+1,vector<int>(n+1));
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<s%9;jj++)m[ii][jj] = (a[0][0][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)if(s%9+jj <= n)m[ii][s%9+jj] = (a[0][1][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)if(s%9+9+jj <= n)m[ii][s%9+9+jj] = (a[0][2][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)if(s%9+ii <= n)m[s%9+ii][jj] = (a[1][0][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)if(s%9+ii <= n && s%9+jj <= n)m[s%9+ii][s%9+jj] = (a[1][1][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)if(s%9+ii <= n && s%9+9+jj <= n)m[s%9+ii][s%9+9+jj] = (a[1][2][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)if(s%9+9+ii <= n)m[s%9+9+ii][jj] = (a[2][0][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)if(s%9+9+ii <= n && s%9+jj <= n)m[s%9+9+ii][s%9+jj] = (a[2][1][ii*9+jj]=='0'?0:1);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)if(s%9+9+ii <= n && s%9+9+jj <= n)m[s%9+9+ii][s%9+9+jj] = (a[2][2][ii*9+jj]=='0'?0:1);
      int C = (n+1)*(n+1);
      vector<int> p(C);
      for(int ii=0;ii<C;ii++)p[ii] = ii;
      for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
        if(m[y][x] && m[y+1][x]) {
          p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
        }
      }
      for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
        if(m[y][x] && m[y][x+1]) {
          p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
        }
      }
      vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
      for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
      for(int y=0;y<n;y++)if(m[y][n])cntv[p[y*(n+1)+n]]++;
      for(int x=0;x<n;x++)if(m[n][x])cnth[p[n*(n+1)+x]]++;
      int ans = 0;
      for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
      queue<int> resq;
      resq.push(m[n][n]);
      int prev = -1;
      if(m[n][n])prev = p[C-1];
      for(int y=n-1;y>=0;y--) {
        if(m[y][n]) {
          if(prev == p[y*(n+1)+n]) {
            resq.push(0);
            resq.push(1);
          }
          else {
            prev = p[y*(n+1)+n];
            resq.push(1);
            resq.push(cnth[p[y*(n+1)+n]]?1:0);
          }
        }
        else {
          resq.push(0);
          resq.push(0);
        }
      }
      prev = -1;
      if(m[n][n])prev = p[C-1];
      for(int x=n-1;x>=0;x--) {
        if(m[n][x]) {
          if(prev == p[n*(n+1)+x]) {
            resq.push(0);
            resq.push(1);
          }
          else {
            prev = p[n*(n+1)+x];
            resq.push(1);
            resq.push(cntv[p[n*(n+1)+x]]?1:0);
          }
        }
        else {
          resq.push(0);
          resq.push(0);
        }
      }
      while(ans) {
        resq.push(ans&1);
        ans /= 2;
      }
      for(int ii=0;!resq.empty();ii++) {
        res[ii] = '0'+resq.front();
        resq.pop();
      }
    }
    else if(n > 17) {
      if(i == 0 && j == 2) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+jj-n,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+9+jj-n,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+9+9+jj-n,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+jj-n,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+9+jj-n,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+9+9+jj-n,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+jj-n,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+9+jj-n,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+9+9+jj-n,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][0])cntv[p[y*(n+1)]]++;
        for(int x=0;x<n;x++)if(m[n][x])cnth[p[n*(n+1)+x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[n][0]);
        int prev = -1;
        if(m[n][0])prev = p[n*(n+1)];
        for(int y=n-1;y>=0;y--) {
          if(m[y][0]) {
            if(prev == p[y*(n+1)+0]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)+0];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)+0]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[n][0])prev = p[n*(n+1)];
        for(int x=1;x<=n;x++) {
          if(m[n][x]) {
            if(prev == p[n*(n+1)+x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[n*(n+1)+x];
              resq.push(1);
              resq.push(cntv[p[n*(n+1)+x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
      else if(i == 2 && j == 2) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+jj-n,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+9+jj-n,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+9+9+jj-n,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+jj-n,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+9+jj-n,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+9+9+jj-n,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+9+ii-n,s%9+9+jj-n,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+9+ii-n,s%9+9+9+jj-n,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+9+ii-n,s%9+9+9+9+jj-n,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][0])cntv[p[y*(n+1)]]++;
        for(int x=0;x<n;x++)if(m[0][x])cnth[p[x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[0][0]);
        int prev = -1;
        if(m[0][0])prev = p[0];
        for(int y=1;y<=n;y++) {
          if(m[y][0]) {
            if(prev == p[y*(n+1)]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[0][0])prev = p[0];
        for(int x=1;x<=n;x++) {
          if(m[0][x]) {
            if(prev == p[x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[x];
              resq.push(1);
              resq.push(cntv[p[x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
      else if(i == 2 && j == 0) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+ii-n,jj,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+jj,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+jj,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+9+ii-n,jj,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+jj,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+jj,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+9+9+ii-n,jj,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+9+ii-n,s%9+jj,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+9+ii-n,s%9+9+jj,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][n])cntv[p[y*(n+1)+n]]++;
        for(int x=0;x<n;x++)if(m[0][x])cnth[p[x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[0][n]);
        int prev = -1;
        if(m[0][n])prev = p[n];
        for(int y=1;y<=n;y++) {
          if(m[y][n]) {
            if(prev == p[y*(n+1)+n]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)+n];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)+n]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[0][0])prev = p[0];
        for(int x=n-1;x>=0;x--) {
          if(m[0][x]) {
            if(prev == p[x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[x];
              resq.push(1);
              resq.push(cntv[p[x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
    }
    else {
      if(i == 0 && j == 1) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+jj-n,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+jj-n,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+9+jj-n,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+jj-n,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+jj-n,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+9+jj-n,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+jj-n,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+jj-n,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+9+jj-n,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][0])cntv[p[y*(n+1)]]++;
        for(int x=0;x<n;x++)if(m[n][x])cnth[p[n*(n+1)+x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[n][0]);
        int prev = -1;
        if(m[n][0])prev = p[n*(n+1)];
        for(int y=n-1;y>=0;y--) {
          if(m[y][0]) {
            if(prev == p[y*(n+1)+0]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)+0];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)+0]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[n][0])prev = p[n*(n+1)];
        for(int x=1;x<=n;x++) {
          if(m[n][x]) {
            if(prev == p[n*(n+1)+x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[n*(n+1)+x];
              resq.push(1);
              resq.push(cntv[p[n*(n+1)+x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
      else if(i == 1 && j == 1) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii-n,s%9+jj-n,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii-n,s%9+9+jj-n,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii-n,s%9+9+9+jj-n,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+jj-n,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+jj-n,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+9+jj-n,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+jj-n,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+jj-n,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+9+jj-n,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][0])cntv[p[y*(n+1)]]++;
        for(int x=0;x<n;x++)if(m[0][x])cnth[p[x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[0][0]);
        int prev = -1;
        if(m[0][0])prev = p[0];
        for(int y=1;y<=n;y++) {
          if(m[y][0]) {
            if(prev == p[y*(n+1)]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[0][0])prev = p[0];
        for(int x=1;x<=n;x++) {
          if(m[0][x]) {
            if(prev == p[x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[x];
              resq.push(1);
              resq.push(cntv[p[x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
      else if(i == 1 && j == 0) {
        vector<vector<int>> m(n+1,vector<int>(n+1));
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+ii-n,jj,a[0][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii-n,s%9+jj,a[0][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii-n,s%9+9+jj,a[0][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+ii-n,jj,a[1][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+jj,a[1][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii-n,s%9+9+jj,a[1][2][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+9+ii-n,jj,a[2][0][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+jj,a[2][1][ii*9+jj],n,m);
        for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+9+ii-n,s%9+9+jj,a[2][2][ii*9+jj],n,m);
        int C = (n+1)*(n+1);
        vector<int> p(C);
        for(int ii=0;ii<C;ii++)p[ii] = ii;
        for(int y=0;y<n;y++)for(int x=0;x<=n;x++) {
          if(m[y][x] && m[y+1][x]) {
            p[par(y*(n+1)+x,p)] = par((y+1)*(n+1)+x,p);
          }
        }
        for(int y=0;y<=n;y++)for(int x=0;x<n;x++) {
          if(m[y][x] && m[y][x+1]) {
            p[par(y*(n+1)+x,p)] = par(y*(n+1)+x+1,p);
          }
        }
        vector<int> cnt(C,0),cntv(C,0),cnth(C,0);
        for(int y=0;y<=n;y++)for(int x=0;x<=n;x++)if(m[y][x])cnt[par(y*(n+1)+x,p)]++;
        for(int y=0;y<n;y++)if(m[y][n])cntv[p[y*(n+1)+n]]++;
        for(int x=0;x<n;x++)if(m[0][x])cnth[p[x]]++;
        int ans = 0;
        for(int ii=0;ii<C;ii++)if(cnt[ii] > 0 && cntv[ii] == 0 && cnth[ii] == 0)ans++;
        queue<int> resq;
        resq.push(m[0][n]);
        int prev = -1;
        if(m[0][n])prev = p[n];
        for(int y=1;y<=n;y++) {
          if(m[y][n]) {
            if(prev == p[y*(n+1)+n]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[y*(n+1)+n];
              resq.push(1);
              resq.push(cnth[p[y*(n+1)+n]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        prev = -1;
        if(m[0][0])prev = p[0];
        for(int x=n-1;x>=0;x--) {
          if(m[0][x]) {
            if(prev == p[x]) {
              resq.push(0);
              resq.push(1);
            }
            else {
              prev = p[x];
              resq.push(1);
              resq.push(cntv[p[x]]?1:0);
            }
          }
          else {
            resq.push(0);
            resq.push(0);
          }
        }
        while(ans) {
          resq.push(ans&1);
          ans /= 2;
        }
        for(int ii=0;!resq.empty();ii++) {
          res[ii] = '0'+resq.front();
          resq.pop();
        }
      }
    }
  }
  else {
    // last
    if(true) {
      vector<vector<int>> m(n+n+1,vector<int>(n+n+1));
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<s%9;jj++)subf(ii,jj,a[0][0][ii*9+jj],n+n,m);
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+jj,a[0][1][ii*9+jj],n+n,m);
      for(int ii=0;ii<s%9;ii++)for(int jj=0;jj<9;jj++)subf(ii,s%9+9+jj,a[0][2][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+ii,jj,a[1][0][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+jj,a[1][1][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+ii,s%9+9+jj,a[1][2][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<s%9;jj++)subf(s%9+9+ii,jj,a[2][0][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+jj,a[2][1][ii*9+jj],n+n,m);
      for(int ii=0;ii<9;ii++)for(int jj=0;jj<9;jj++)subf(s%9+9+ii,s%9+9+jj,a[2][2][ii*9+jj],n+n,m);
      int C = (n+n+1)*(n+n+1);
      vector<int> p(C);
      for(int ii=0;ii<C;ii++)p[ii] = ii;
      for(int y=0;y<n+n;y++)for(int x=0;x<=n+n;x++) {
        if(m[y][x] && m[y+1][x]) {
          p[par(y*(n+n+1)+x,p)] = par((y+1)*(n+n+1)+x,p);
        }
      }
      for(int y=0;y<=n+n;y++)for(int x=0;x<n+n;x++) {
        if(m[y][x] && m[y][x+1]) {
          p[par(y*(n+n+1)+x,p)] = par(y*(n+n+1)+x+1,p);
        }
      }
      vector<int> cnt(C,0);
      for(int y=0;y<=n+n;y++)for(int x=0;x<=n+n;x++)if(m[y][x])cnt[par(y*(n+n+1)+x,p)]++;
      int ans = 0;
      for(int ii=0;ii<C;ii++)if(cnt[ii])ans++;
      queue<int> resq;
      while(ans) {
        resq.push(ans&1);
        ans /= 2;
      }
      for(int ii=0;!resq.empty();ii++) {
        res[ii] = '0'+resq.front();
        resq.pop();
      }
    }
    else {
    }
  }
  
	return res;
}
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1708 KB Output is correct
2 Correct 8 ms 2140 KB Output is correct
3 Correct 8 ms 1996 KB Output is correct
4 Correct 8 ms 2052 KB Output is correct
5 Correct 8 ms 2076 KB Output is correct
6 Correct 8 ms 2116 KB Output is correct
7 Correct 11 ms 1876 KB Output is correct
8 Correct 16 ms 2140 KB Output is correct
9 Correct 15 ms 2120 KB Output is correct
10 Correct 16 ms 2036 KB Output is correct
11 Correct 16 ms 1776 KB Output is correct
12 Correct 15 ms 2040 KB Output is correct
13 Correct 16 ms 1992 KB Output is correct
14 Correct 27 ms 2384 KB Output is correct
15 Correct 39 ms 2580 KB Output is correct
16 Correct 40 ms 2604 KB Output is correct
17 Correct 40 ms 2572 KB Output is correct
18 Correct 39 ms 2700 KB Output is correct
19 Correct 38 ms 2564 KB Output is correct
20 Correct 40 ms 2452 KB Output is correct
21 Correct 57 ms 2480 KB Output is correct
22 Incorrect 12 ms 332 KB Incorrect
23 Halted 0 ms 0 KB -