Submission #231711

#TimeUsernameProblemLanguageResultExecution timeMemory
231711kshitij_sodaniBoat (APIO16_boat)C++17
0 / 100
760 ms9332 KiB
#include <bits/stdc++.h> #include <iostream> using namespace std; typedef int64_t llo; #define mp make_pair #define a first #define b second #define pb push_back int n,aa,bb; map<int,int> dd; int si[2001]; llo mod=1000000007; vector<int> cc; vector<pair<int,int>> it; int fac[501]; int fac2[501]; int pre[2001][501]; int pre2[2001][501]; int com[501][501]; int dp[501][2001]; int ind2=0; int mod2(int ee,int ff){ if(ff==0){ return 1; } int ans=mod2(ee,ff/2); ans*=ans; ans%=mod; if(ff%2==1){ ans*=ee; ans%=mod; } return ans; } void comp(){ fac[0]=1; for(int i=1;i<501;i++){ fac[i]=fac[i-1]*i; fac[i]%=mod; } for(int i=0;i<501;i++){ fac2[i]=mod2(fac[i],mod-2); } } void ncr(){ for(int i=1;i<n+1;i++){ for(int j=0;j<=i;j++){ com[i][j]=fac2[j]*fac2[i-j]; com[i][j]%=mod; com[i][j]*=fac[i]; com[i][j]%=mod; } } } void comp2(){ fac[0]=1; for(int i=0;i<ind2;i++){ int cur=1; pre[i][0]=0; for(int j=1;j<n+1;j++){ if(j<=si[i]){ cur*=mod2(j,mod-2); cur%=mod; cur*=(si[j]-j+1); cur%=mod; pre[i][j]=cur; pre[i][j]+=pre[i][j-1]; pre[i][j]%=mod; } else{ pre[i][j]=pre[i][j-1]; } } } for(int i=0;i<ind2;i++){ for(int j=1;j<n+1;j++){ pre2[i][j]=0; for(int k=1;k<=j;k++){ pre2[i][j]+=pre[i][k]*com[j-1][k-1]; pre2[i][j]%=mod; } } } } int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>aa>>bb; cc.pb(aa); cc.pb(bb); it.pb({aa,bb}); } comp();//factorial ncr();//computing iCj for i and j from 1 to n sort(cc.begin(),cc.end()); for(int i=0;i<cc.size();i++){ if(i<cc.size()-1 and cc[i]==cc[i+1]){ continue; } dd[cc[i]]=ind2; ind2+=1; si[dd[cc[i]]]=1; if(i<cc.size()-1){ if(cc[i]<cc[i+1]+1){ si[ind2]=cc[i+1]-cc[i]-1; ind2+=1; } } } comp2(); for(int i=0;i<n;i++){ it[i].a=dd[it[i].a]; it[i].b=dd[it[i].b]; } for(int i=0;i<n;i++){ for(int j=0;j<cc.size();j++){ dp[i][j]=0; } } for(int j=0;j<cc.size();j++){ if(j>=it[0].a and j<=it[0].b){ dp[0][j]=1; } if(j>0){ dp[0][j]+=dp[0][j-1]; } } for(int i=1;i<n;i++){ for(int j=0;j<cc.size();j++){ } } return 0; }

Compilation message (stderr)

boat.cpp: In function 'int main()':
boat.cpp:98:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<cc.size();i++){
              ~^~~~~~~~~~
boat.cpp:99:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(i<cc.size()-1 and cc[i]==cc[i+1]){
      ~^~~~~~~~~~~~
boat.cpp:105:7: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(i<cc.size()-1){
      ~^~~~~~~~~~~~
boat.cpp:120:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<cc.size();j++){
               ~^~~~~~~~~~
boat.cpp:124:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int j=0;j<cc.size();j++){
              ~^~~~~~~~~~
boat.cpp:133:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j=0;j<cc.size();j++){
               ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...