This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
template<class A> using v=vector<A>;
template<class A,class B=A> using p=pair<A,B>;
typedef v<int> vi;
typedef p<int> pi;
typedef string str;
#define f first
#define s second
#define mp make_pair
#define ins insert
#define pb push_back
#define sz(S) (int)S.size()
#define get4(a,b,c,d,...) d
#define lp3(x,a,b) for(int x=(a);x<(b);x++)
#define lp2(x,a) lp3(x,0,a)
#define lp1(a) lp2(loopvar,a)
#define lp(x...) get4(x,lp3,lp2,lp1,0)(x)
#define trv(x,S) for(auto& x:(S))
int n,m,tgt;
int orig[500][500];
int prj[2][500];
int disthelp[2][500][500];
int dist[2][500];
int isx[2][500];
int dim[2];
void construct_network(int H, int W, int Tgt)
{
n=H,m=W,tgt=Tgt;
lp(i,n) lp(j,m) orig[i][j]=i*m+j;
lp(i,n)
{
vi Ns;
lp(j,m) Ns.pb(orig[i][j]);
prj[0][i]=add_or(Ns);
}
lp(j,m)
{
vi Ns;
lp(i,n) Ns.pb(orig[i][j]);
prj[1][j]=add_or(Ns);
}
dim[0]=n,dim[1]=m;
lp(d,2)
{
{
vi Ns;
lp(i,dim[d]) Ns.pb(prj[d][i]);
dist[d][0]=add_xor(Ns);
}
lp(i,dim[d])
lp(j,i+1,dim[d])
disthelp[d][i][j]=add_and({prj[d][i],prj[d][j]});
lp(i,1,dim[d])
{
vi Ns;
lp(j,i,dim[d]) Ns.pb(disthelp[d][j-i][j]);
dist[d][i]=add_or(Ns);
}
}
vi ansarr;
lp(i,max(0,tgt-m+1),min(n,tgt+1))
{
ansarr.pb(add_and({dist[0][i],dist[1][tgt-i]}));
}
add_or(ansarr);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |