牛客小白月賽16 D 小陽買水果 (思維題)

2022-07-19 13:39:15 字數 1182 閱讀 6165

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

水果店裡有 n

'>nn個水果排成一列。店長要求顧客只能買一段連續的水果。

小陽對每個水果都有乙個喜愛程度 a

i'>ai

ai,最終的滿意度為他買到的水果的喜歡程度之和。

如果和為正(不管是正多少,只要大於 0

'>00 即可),他就滿意了。

小陽想知道在他滿意的條件下最多能買多少個水果。

n'>a

i'>0

'>你能幫幫他嗎?

第一行輸入乙個正整數 n,表示水果總數。

第二行輸入 n 個整數 a

i'>aiai,表示小陽對每個水果的喜愛程度。

一行乙個整數表示結果。(如果 1 個水果都買不了,請輸出 0)
示例1

複製

5

0 0 -7 -6 1

複製

1

1≤n

≤2×10

6,|a

i|≤10

3'>1≤n≤2×106,|ai|≤1031≤n≤2×106,|ai|≤103

解題思路:把字首和從小到大排序,如果字首和相等把編號大的放前面,然後從前往後遍歷,記錄遍歷過程最小的編號,如果當前的編號大於最小的編號,則更新答案。注意特判n=1的情況就可以了

**:

#includeusing

namespace

std;

typedef

long

long

ll;const

int maxn=2e6+7

;int

n;struct

nodep[maxn];

bool

cmp(node a,node b)

intmain()

n++;

int minpos=n;

int ans=0

; sort(p+1,p+n+1

,cmp);

for(int i=1;i<=n;i++)

printf(

"%d\n

",ans);

return0;

}

牛客小白月賽16 D 小陽買水果

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 水果店裡有 nn個水果排成一列。店長要求顧客只能買一段連續的水果。小陽對每個水果都有乙個喜愛程度 aiai,最終的滿意度為他買到的水果的喜歡程度之和。如果和為正 不...

牛客小白月賽16 D 小陽買水果 字首和 思維

題意 找出連續區間和大於0的最大區間和長度 思路 維護乙個字首和的優先佇列,按字首和從大到小排列,那麼因為你每次後來取出的字首和相等或者小於之前取出的字首和,這樣只用維護乙個右端點更新區間最大長度即可。時間複雜度為o nlogn 思路正確,是最醜的乙個寫法,卡guo。附上 include inclu...

牛客小白月賽16

很容易得到n 1時,因為小石先手,所以小石一定輸 而n!1時,假設n 5 小石先取1 小陽取2 4 小石去3 小陽輸,無論怎樣小石都有贏的機會 includeusing namespace std int main 打表求出1 1e3之間的所有三角形每層之和 include define ll lo...