站外 单调栈 题求助!(悬奖2关注)
  • 板块灌水区
  • 楼主Defy_HeavenS
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/1/20 18:07
  • 上次更新2024/1/20 20:40:07
查看原帖
站外 单调栈 题求助!(悬奖2关注)
493937
Defy_HeavenS楼主2024/1/20 18:07

题目描述

您最喜欢的音乐流媒体平台已经为您形成了一个完美平衡的播放列表。播放列表包括n个编号从1到n的歌.播放列表是自动和循环的:第i个放完放第i+1个,第n个放完放第一个。第i首歌评分为a[i]。

每天早上,你选择一首歌。然后播放列表以通常的循环方式从该首歌开始播放。在任何时候,你都记得已经播放曲目的最大评分x。一旦你听到歌曲的评分严格低于x/2(不四舍五入)开始播放,您立即关闭音乐以保持心情愉快。

对于每首歌,如果您以第i首歌开始您的早晨,请在关闭音乐之前找出您将听多少首歌,或确定您永远不会关闭音乐。请注意,如果您多次听同一首歌,则每次都必须计算在内。

输入格式

第一行包含一个整数n(2≤n≤100 000),表示播放列表中歌的数量。

第二行包含n个整数a[i](1≤a[i]≤1000 000 000),表示每首歌的评分。

输出格式

输出n整数C[i], 从第i首歌开始收听时您将收听的曲目数量。如果您将无限期地听音乐,输出-1。

样例1

in:
4
11 5 2 7
out:
1 1 3 2

样例2

in:
4
3 2 5 3
out:
5 4 3 6
2024/1/20 18:07
加载中...