#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N];
int L[N], R[N], pos[N], n, m, t, tag[N], sum[N];
void update(int lt, int rt, int val)
{
int x=pos[lt], y=pos[rt];
if(x==y)
{
for(int i=lt;i<=rt;i++)
{
a[i]+=val;
sum[x]+=val;
}
}
else
{
for(int i=x+1;i<=y-1;i++)
{
tag[i]+=val;
}
for(int i=lt;i<=R[x];i++)
{
a[i]+=val, sum[x]+=val;
}
for(int i=L[y];i<=rt;i++)
{
a[i]+=val;
sum[y]+=val;
}
}
return ;
}
int query(int lt, int rt)
{
int x=pos[lt], y=pos[rt];
int ans=0;
if(x==y)
{
for(int i=lt;i<=rt;i++)
{
ans+=a[i];
}
}
else
{
for(int i=x+1;i<=y-1;i++)
{
ans+=sum[i]+tag[i]*(R[i]-L[i]+1);
}
for(int i=lt;i<=R[x];i++)
{
ans+=a[i]+tag[x];
}
for(int i=L[y];i<=rt;i++)
{
ans+=a[i]+tag[y];
}
}
return ans;
}
signed main()
{
m=2;
int c, d;
cin>>c>>d;
a[1]=c;
a[2]=d;
t=sqrt(m);
for(int i=1;i<=t;i++)
{
L[i]=(i-1)*t+1;
R[i]=i*t;
}
if(R[t]<m)
{
t++;
L[t]=R[t-1]+1;
R[t]=m;
}
for(int i=1;i<=t;i++)
{
for(int j=L[i];j<=R[i];j++)
{
pos[j]=i;
sum[i]+=a[j];
}
}
cout<<query(1,2);
}
本人马蜂较丑见谅(跟 @Stars_visitor_tyw 学的马蜂)
P1001过了但这题没过求条悬1关qwq