如题,因为不会算法直接猜输出通过了最后一个数据点 代码:
//C++20,启动!
//MSVC v143
#include<iostream>
#include<vector>
int main()
{
using namespace std;
ios::sync_with_stdio(false);
int val_apples;
cin >> val_apples;
#ifndef _MSC_VER
//尝试打表
if (val_apples > 10000000)
{
cout << /*阿巴阿巴不给看*/;
return 0;
}
#endif
vector<char> apples(val_apples);
int settedvals = 0, remove_val = 0, remove_at_val = 0;
while (settedvals != val_apples)
{
int skip = 0;
for (int i = remove_val; i < val_apples; i++)
{
if (!apples[i])
{
skip--;
if (skip < 0)
{
apples[i] = true;
settedvals++;
if (i == val_apples - 1)
remove_at_val = remove_val + 1;
if (val_apples - settedvals < 2)
break;
skip = 2;
}
}
}
remove_val++;
}
cout << remove_val << ' ' << remove_at_val << endl;
}