Submission #954189

#TimeUsernameProblemLanguageResultExecution timeMemory
954189Trisanu_DasHexagonal Territory (APIO21_hexagon)C++17
30 / 100
31 ms18140 KiB
#include "hexagon.h" #include <vector> #include <iostream> #include <cmath> using namespace std; long long int n,a,b,d[1000005],l[1000005],x[1000005],y[1000005]; int draw_territory(int N, int A, int B,std::vector<int> D, std::vector<int> L) { n=N; a=A; b=B; long long int p=0; for(int i=0;i<n;i++) { d[i]=D[i]; l[i]=L[i]; p+=l[i]; } long long int nowx=0,nowy=0; long long int cnt=1; for(int i=0;i<n;i++) { if(d[i]==1)nowy+=l[i]; if(d[i]==2)nowy+=l[i],nowx+=l[i]; if(d[i]==3)nowx+=l[i]; if(d[i]==4)nowy-=l[i]; if(d[i]==5)nowy-=l[i],nowx-=l[i]; if(d[i]==6)nowx-=l[i]; x[cnt]=nowx; y[cnt]=nowy; cnt++; } long long int ans=0; for(int i=0;i<cnt;i++) ans+=x[i]*y[i+1]-y[i]*x[i+1]; ans=abs(ans); long long int tmp=(ans-p+2)/2; tmp+=p; tmp%=1000000007; return tmp*a%1000000007; }
#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...