2 秒262,144 kb
20 分
3 級題
小b有乙個長度為n的序列a,她想求maxi你能幫幫她嗎?
樣例解釋:選擇a2a2和a9a9,答案為min(8,7)×(9−2)=49min(8,7)×(9−2)=49,不存在其他選法答案更大,因此最大值就是49。
收起
第一行乙個數n,0<n≤50000;第二行n個數表示a_i,以空格隔開,0<=a_i<=10000。
輸出乙個數表示這個最大值
91 8 6 2 5 4 8 3 7
49題解:先排序,這樣就確定了前面的肯定是小的,然後再固定乙個距離就好了;
反序遍歷,得到對當前值來說的最小位置和最大位置
那麼,距離 = max(|最小位置-當前位置|,|最大位置-當前位置|)
#include#include#include#include#include#include#include#include#include#include#include#include#include#define eps (1e-8)
#define max 0x3f3f3f3f
#define u_max 1844674407370955161
#define l_max 9223372036854775807
#define i_max 2147483647
#define re register
#define pushup() tree[rt]=max(tree[rt<<1],tree[rt<<1|1])
#define nth(k,n) nth_element(a,a+k,a+n); // 將 第k大的放在k位
#define ko() for(int i=2;i<=n;i++) s=(s+k)%i // 約瑟夫
#define ok() v.erase(unique(v.begin(),v.end()),v.end()) // 排序,離散化
using namespace std;
inline int read()
while(c >= '0' & c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}typedef long long ll;
const double pi = atan(1.)*4.;
const int m=1e3+5;
const int n=5e5+5;
int a[n],l[n],r[n];
struct funf[n];
bool cmp(fun aa,fun bb)
int ans=0;
for(int i=1;iprintf("%d\n",ans);
return 0;
}
(思維)2479 小b分糖果
2 秒262,144 kb 20 分 3 級題 小b想給幼兒園的孩子們分發糖果,有 n 個孩子排成了一排,小b已經根據每個孩子的表現給他們打分。你需要按照以下要求,幫助小b給這些孩子分發糖果 首先,每個孩子至少分配到 1 個糖果 其次,相鄰的孩子中,如果評分不同,則評分高的孩子必須獲得更多的糖果。請...
B 小y的序列
又是一年 csp,機房的oier都在刷題,alan卻在發呆想著小y,正巧忽然聽到隔壁機房某神zlk熟悉的聲音 找規律就可以了吧,這個序列感覺很熟悉啊,就是1,2,4,6,11這其實就是乙個a i 1 a i i的序列哦,突然隔壁的聲音大了起來,zlk,你好像有個數寫錯了 大霧 課後,alan在紙上寫...
(DP 遞推)2487 小b和環
2 秒262,144 kb 20 分 3 級題 小b有乙個長度為n的環,每個點上有個數字。現在請你選出一些點,滿足選出的任意兩個點在環上不相鄰,且選出的點的數字之和最大,你只需輸出這個最大值。收起第一行輸入乙個數n,其中0 n 50000 第二行輸入n個非負整數,第i個數表示環上順時針第i個點上的數...