Submission #880334

#TimeUsernameProblemLanguageResultExecution timeMemory
880334josanneo22Fish (IOI08_fish)C++17
0 / 100
223 ms65536 KiB
#include<bits/stdc++.h> using namespace std; int main(){ int F,K,M; cin>>F>>K>>M; vector<vector<int>> cnt(F+1,vector<int>(K+1)); vector<pair<int,int>> a; for(int i=0;i<F;i++){ int len,gem; cin>>len>>gem; a.push_back(make_pair(len,gem)); } sort(a.begin(),a.end()); for(int i=0;i<F;i++){ cnt[i][a[i].second]++; for(int j=0;j<i;j++){ if(a[j].first*2<=a[i].first){ for(int k=0;k<=K;k++){ cnt[i][k]+=cnt[j][k]; cnt[j][k]=0; } } } } int ans=0; for(int i=0;i<F;i++){ int t=1; for(int j=0;j<=K;j++){ t*=(cnt[i][j]+1); t%=M; } if(t<0) t+=M; ans+=(t-1); } ans-=1; if(ans<0) ans+=M; while(ans>=M) ans-=M; cout<<ans<<'\n'; }
#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...
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...