有可爱的珂朵莉在题目里面,再难也要做啊对不对qwq
什么?你问我珂朵莉是什么
哈哈哈我先放图哈哈哈
好好好不皮了,切入正题
那么问题来了,交互提是个什么鬼?
我也是看了帖子之后才懂的
那么就姑且抛开交互题这个奇葩的东西不说,先考虑如果这不是交互题该怎么做
自己推导方案推了好久才做出来……
易知,
当(2x<=c)的时候,就从前往后找,找到第一个大于这个数的位置补上或者找到第一个空位置填上
当(2x>c)的时候,就从后往前找,找到第一个小于这个数的位置补上或者找到第一个空位置填上
这么一通瞎搞之后你就赢了,因为珂朵莉是很可爱的吖对吧
那么问题又回到了交互提上面来了,
交互提的确很有意思,但是fflush(stdout) in C/C++又是个什么东东啊……
我自己的英语不好,就瞎猜了个意思,就是每行输出后,要刷新一下,加一条语句fflush(stdout);(大概如此吧)
代码如下:
#include <bits/stdc++.h>
using namespace std;
long long t[1005]={0};//其实int也能过,就是被卡long long卡怕了qwq
int main()
{
long long n,m,c,x;
cin>>n>>m>>c;
while(m--)
{
cin>>x;
if(x*2<=c)
{
for(int i=1; i<=n; i++)
if(t[i]>x||!t[i]) { t[i]=x; cout<<i<<endl; break; }
}
else
{
for(int i=n; i>0; i--)
if(t[i]<x||!t[i]) { t[i]=x; cout<<i<<endl; break; }
}
fflush(stdout);
}
return 0;
}
对没错就是这样做的