This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |