卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114843 | 2023-10-24 08:50:25 | TKTYI | I | cpp | 25/25 | AC | 381 |
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef long double ld;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<vvvi> vvvvi;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<vvb> vvvb;
typedef vector<vvvb> vvvvb;
typedef pair<ll,ll> pi;
typedef pair<ll,pi> ppi;
typedef pair<ll,ppi> pppi;
typedef pair<ll,pppi> ppppi;
#define FOR(i,l,r) for(ll i=l;i<r;i++)
#define REP(i,n) FOR(i,0,n)
#define RFOR(i,l,r) for(ll i=r-1;i>=l;i--)
#define RREP(i,n) RFOR(i,0,n)
#define ALL(x) x.begin(),x.end()
#define F first
#define S second
#define BS(A,x) binary_search(ALL(A),x)
#define LB(A,x) (ll)(lower_bound(ALL(A),x)-A.begin())
#define UB(A,x) (ll)(upper_bound(ALL(A),x)-A.begin())
#define COU(A,x) (UB(A,x)-LB(A,x))
#define sz(c) ((ll)(c).size())
/*
#include<boost/multiprecision/cpp_int.hpp>
namespace mp=boost::multiprecision;
using Bint=mp::cpp_int;
*/
template<typename T>using min_priority_queue=priority_queue<T,vector<T>,greater<T>>;
template<typename T1,typename T2>ostream&operator<<(ostream&os,pair<T1,T2>&p){os<<p.F<<" "<<p.S;return os;}
template<typename T1,typename T2>istream&operator>>(istream&is,pair<T1,T2>&p){is>>p.F>>p.S;return is;}
template<typename T>ostream&operator<<(ostream&os,vector<T>&v){REP(i,sz(v))os<<v[i]<<(i+1!=sz(v)?" ":"");return os;}
template<typename T>istream&operator>>(istream&is,vector<T>&v){for(T&in:v)is>>in;return is;}
template<class T>bool chmax(T&a,T b){if(a<b){a=b;return 1;}return 0;}
template<class T>bool chmin(T&a,T b){if(b<a){a=b;return 1;}return 0;}
ld dist(ld x1,ld y1,ld x2,ld y2){return sqrtl((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}
//const ll mod=998244353;
const ld EPS=1e-8;
/*
const ll mod=1000000007;
//*/
const ll mod=127237991;
int main(){
ll N;cin>>N;
vvi A(5,vi(N));cin>>A;
REP(i,5)sort(ALL(A[i]));
vvi DP(5,vi(N));
REP(i,N)DP[0][i]=1;
FOR(i,1,5){
vi B(N+1);
REP(j,N)B[j+1]=(B[j]+DP[i-1][j])%mod;
REP(j,N)DP[i][j]=B[LB(A[i-1],A[i][j])];
}
ll ans=0;
REP(i,N)ans=(ans+DP[4][i])%mod;
cout<<ans<<endl;
return 0;
}
sample1.txt AC 2 sample2.txt AC 2 sample3.txt AC 3 sample4.txt AC 7 sample5.txt AC 7 case1.txt AC 7 case2.txt AC 7 case3.txt AC 7 case4.txt AC 7 case5.txt AC 7 case6.txt AC 193 case7.txt AC 143 case8.txt AC 173 case9.txt AC 78 case10.txt AC 70 case11.txt AC 308 case12.txt AC 380 case13.txt AC 273 case14.txt AC 346 case15.txt AC 308 case16.txt AC 210 case17.txt AC 381 case18.txt AC 207 case19.txt AC 336 case20.txt AC 205 381 AC381 AC