時間限制: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
複製
50 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的情況就可以了
**:
#includeusingnamespace
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...