Submission #988758

#TimeUsernameProblemLanguageResultExecution timeMemory
988758HD1Binaria (CCO23_day1problem1)C++14
0 / 25
1 ms348 KiB
//we all are lost trying to be someone //The best way to predict the future is to create it #include<bits/stdc++.h> #define fastio ios_base::sync_with_stdio(0); cin.tie(0); #define sz(x) ll(x.size()) #define all(x) x.begin(), x.end() #define pb push_back #define ff first #define ss second using namespace std; typedef long long ll; typedef long double ld; typedef pair<ll,ll> ii; typedef pair<ii,ll> tri; const ll mod=1e5; const ll MAX=1e6; ll n, k; ll bin[MAX+20], A[MAX]; bool id[MAX+20]; ll perm(int k, int c){ ll ans=1; for(int i=c+1; i<=k; i++){ ans*=i; ans%=mod; } return ans; } void solve(){ cin>>n>>k; ll aux=-1; ll pos=0; for(int i=0; i<n-k+1; i++){ cin>>A[i]; if(aux==-1){ aux=A[i]; continue; } if(aux!=A[i]){ if(!id[pos%k]){ id[pos%k]=true; if(A[i]>aux)bin[pos]=0; else bin[pos]=1; } } aux=A[i]; pos++; } ll sum=0; ll cant=0; for(int i=0; i<k; i++){ sum+=bin[i]; if(!id[i])cant++; } //cout<<cant<<' '<<A[0]-sum<<endl; cout<<perm(cant,A[0]-sum)<<'\n'; } int main(){ fastio; solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...