关掉同步流了,还是炸,求调
#include<iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(false);cin.tie(0);
int n,p,q;cin>>n>>p>>q;
int i;
for(i=1;i<=n+1;i++)
{
if(i*(i-1)/2==p)
{
for(int x=1;x<=i;x++)cout<<1<<' ';
for(int x=i+1;x<=n;x++)cout<<10000000<<' ';
return 0;
}
else if(i*(i-1)/2>p)break;
}
cerr<<i<<'\n';
for(int x=1;x<=(p-((i-2)*(i-1))/2);x++)cout<<1<<' ';
for(int x=(p-((i-1)*(i-2))/2)+1;x<i;x++)
{
cout<<2<<' ';
}
cout<<q-1<<' ';
for(int x=i+1;x<=n;x++)
{
cout<<"10000000 ";
}
return 0;
}
显然是 O(n) 的。