제출 #421632

#제출 시각아이디문제언어결과실행 시간메모리
421632tinjyu육각형 영역 (APIO21_hexagon)C++14
30 / 100
54 ms10972 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...