rt。比赛后五分钟均在解决这个问题,结果还是没能解决qwq,于是……100(大概)->0
#include<bits/stdc++.h>
using namespace std;
int q;
int main()
{
cin>>q;
while(q--)
{
double k;
cin>>k;
k--;
long long zq=(1+sqrt(8*k+1))/4;
if(k==1) zq=0;
long long djg=k-(2*zq*zq-zq)+1,gs=zq*4+1;
if(k==1)
{
cout<<0;
continue;
}
else if(k==2) cout<<0;
else if(k==3) cout<<1;
else if(k==4) cout<<0;
else if(k==5) cout<<-1;
else if(k==6) cout<<0;
else
{
if(djg==1) cout<<0;
if(djg>1&&djg<(gs-1)/4+1) cout<<djg-1;
if(djg==(gs-1)/4+1) cout<<zq;
if(djg>(gs-1)/4+1&&djg<(gs-1)/2+1) cout<<zq-(djg-((gs-1)/4+1));
if(djg==(gs-1)/2+1) cout<<0;
if(djg>(gs-1)/2+1&&djg<(gs-1)/4*3+1) cout<<-(djg-((gs-1)/2+1));
if(djg==(gs-1)/4*3+1) cout<<-zq;
if(djg>(gs-1)/4*3+1&&djg<gs) cout<<-zq+(djg-((gs-1)/4*3+1));
if(djg==gs) cout<<0;
}
cout<<"\n";
}
return 0;
}