QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#411369 | #8364. permutation | Crysfly | 0 | 15ms | 5748kb | C++17 | 2.8kb | 2024-05-15 12:15:04 | 2024-05-15 12:15:07 |
Judging History
answer
// what is matter? never mind.
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,sse4,popcnt,abm,mmx,avx,avx2")
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
//#define int long long
#define ull unsigned long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
char c=getchar();int x=0;bool f=0;
for(;!isdigit(c);c=getchar())f^=!(c^45);
for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
if(f)x=-x;return x;
}
#define mod 998244353
struct modint{
int x;
modint(int o=0){x=o;}
modint &operator = (int o){return x=o,*this;}
modint &operator +=(modint o){return x=x+o.x>=mod?x+o.x-mod:x+o.x,*this;}
modint &operator -=(modint o){return x=x-o.x<0?x-o.x+mod:x-o.x,*this;}
modint &operator *=(modint o){return x=1ll*x*o.x%mod,*this;}
modint &operator ^=(int b){
modint a=*this,c=1;
for(;b;b>>=1,a*=a)if(b&1)c*=a;
return x=c.x,*this;
}
modint &operator /=(modint o){return *this *=o^=mod-2;}
friend modint operator +(modint a,modint b){return a+=b;}
friend modint operator -(modint a,modint b){return a-=b;}
friend modint operator *(modint a,modint b){return a*=b;}
friend modint operator /(modint a,modint b){return a/=b;}
friend modint operator ^(modint a,int b){return a^=b;}
friend bool operator ==(modint a,modint b){return a.x==b.x;}
friend bool operator !=(modint a,modint b){return a.x!=b.x;}
bool operator ! () {return !x;}
modint operator - () {return x?mod-x:0;}
bool operator <(const modint&b)const{return x<b.x;}
};
inline modint qpow(modint x,int y){return x^y;}
vector<modint> fac,ifac,iv;
inline void initC(int n)
{
if(iv.empty())fac=ifac=iv=vector<modint>(2,1);
int m=iv.size(); ++n;
if(m>=n)return;
iv.resize(n),fac.resize(n),ifac.resize(n);
For(i,m,n-1){
iv[i]=iv[mod%i]*(mod-mod/i);
fac[i]=fac[i-1]*i,ifac[i]=ifac[i-1]*iv[i];
}
}
inline modint C(int n,int m){
if(m<0||n<m)return 0;
return initC(n),fac[n]*ifac[m]*ifac[n-m];
}
inline modint sign(int n){return (n&1)?(mod-1):(1);}
#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<int,int>pii;
typedef vector<int>vi;
#define maxn 300005
#define inf 0x3f3f3f3f
int n,m,res[maxn];
int pos[11],sta[maxn][11];
signed main()
{
n=read(),m=read();
For(i,1,m){
For(j,1,n)pos[read()]=j;
For(j,1,n){
For(k,j+1,n)
sta[i][j]+=(pos[j]<pos[k]);
For(k,1,j-1)
sta[i][j]-=(pos[j]<pos[k]);
}
}
For(i,1,m)
For(j,1,m){
bool ok=1;
For(k,1,n)
if(sta[i][k]<sta[j][k]) ok=0;
res[i]+=ok;
}
For(i,1,m)cout<<res[i]<<"\n";
return 0;
}
/*
*/
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 0
Wrong Answer
time: 15ms
memory: 5748kb
input:
7 2000 5 1 7 4 6 3 2 1 4 6 3 5 2 7 1 3 4 6 2 7 5 6 3 7 1 4 5 2 7 3 6 2 4 1 5 6 7 3 4 1 2 5 6 1 2 5 7 4 3 5 1 4 3 7 6 2 5 3 4 1 2 7 6 7 1 3 4 6 5 2 7 4 6 2 5 1 3 2 6 3 4 1 7 5 5 6 3 1 2 4 7 4 1 6 7 5 3 2 2 6 1 3 7 4 5 1 6 2 3 4 5 7 4 3 1 5 2 7 6 7 3 2 5 4 6 1 2 6 7 1 5 3 4 7 6 2 4 1 5 3 5 1 7 3 6 2 4...
output:
48 456 883 57 25 46 124 151 314 60 18 362 171 77 465 775 619 34 149 15 151 106 3 148 43 37 523 260 413 100 421 8 79 525 14 75 48 119 468 157 20 151 268 83 10 964 21 31 263 51 299 987 1 9 289 21 972 495 678 64 56 301 788 255 17 47 672 43 113 103 74 133 22 350 425 107 368 94 57 41 109 68 220 837 55 44...
result:
wrong answer 1st numbers differ - expected: '57', found: '48'
Subtask #2:
score: 0
Skipped
Dependency #1:
0%
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #2:
0%