Submission #981421

#TimeUsernameProblemLanguageResultExecution timeMemory
981421Faisal_SaqibHexagonal Territory (APIO21_hexagon)C++17
3 / 100
0 ms416 KiB
#include "hexagon.h" // #include "grader.cpp" #include <vector> using namespace std; #define ll long long const ll mod=1e9+7; ll powmod(ll a,ll b,ll mod) { if(b==0) { return 1; } if(b==1) { return a; } ll cp=powmod(a,b/2,mod); cp=(cp*cp)%mod; if(b%2) { cp=(cp*a)%mod; } return cp; } int draw_territory(int N, int A, int B,std::vector<int> D, std::vector<int> L) { ll total_cell=L[0]+1,two=2; total_cell=(((total_cell*(total_cell+1))%mod)*powmod(two,mod-2,mod))%mod; ll ap=A; ll ans=(total_cell*ap)%mod; // cell with distance i are i+1 // So (i*b)*(i+1) // Sum of ((i*(i+1))) *b ll app=total_cell*(total_cell-1); app%=mod; app*=(total_cell+1); app%=mod; app=(app*powmod(3,mod-2,mod))%mod; ll pb=B; ll po=(app*pb)%mod; // (i+1 C 2) = 2**(i+2) ans=(ans+po)%mod; return ans; // return (total_cell*ap)%mod; }
#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...