time limit: 1 sec
memory limit: 128 mb
submit: 37
solved: 12
submit
status
web board
有乙個陣列a,它的初始下標為1,我們不知道這個陣列裡的元素,但知道這個陣列滿足以下幾個性質:
①長度為n,且a[1]=0,a中所有的數都是非負整數;
②任意兩個相鄰元素差的絕對值不大於1,比如a[1]=4,那麼a[2]的值只可能是3,4,5中的乙個
③對於部分的特殊點xi,滿足a[xi]<=ki,這樣的點共m個
問陣列a中的最大值最大可能為多少?
多組測試資料,第一行乙個整數t(<=10),表示測試資料數量
每組資料第一行兩個整數n,m,表示a的長度與特殊點的個數,其中1<=n<=100000, 0<=m<=50.
之後m行,每行兩個整數xi與ki,其中1<=xi<=n,0<=ki<=100000,且xi以增序給出。
保證輸入合法
每組輸入乙個數表示陣列中的可能最大值
110 34 25 69 35
思路:
初始化 a [ 1 ] = 0,b [ n +1 ] = n + 1,先從左往右掃一遍,保證 a [ ] 盡可能遞增,再從右往左掃一遍,保證 b [ ] 盡可能遞減(反向遞增),
最後答案便是 max ( min ( b [ i ] ,a [ i ] ) ),1 < = i < = n;
#include#include#includeusing namespace std;
const int maxn=1e5+10;
int n,m;
int a[maxn],b[maxn],c[maxn];
int main()
a[1]=0;
for(int i=2;i<=n;i++)
b[n+1]=maxn;
for(int i=n;i>0;i--)
int ans=-1;
for(int i=1;i<=n;i++)
printf("%d\n",ans);
} return 0;
}
1038 絕對值最大 ZZULIOJ
題目描述 輸入3個整數,輸出絕對值最大的那個數。輸入 輸入包含3個int範圍內的整數,用空格隔開。輸出 輸出三個數中絕對值最大的數,單獨佔一行。若絕對值最大的數不唯一,則輸出最先出現的那個。例如,若輸入為1 3 3,則輸出為 3 若輸入為1 3 3則輸出為3。樣例輸入 copy 1 2 3 樣例輸出...
ZZULIOJ 1786 求最大值
time limit 1 sec memory limit 128 mb submit 141 solved 30 submit status web board 給定 個數,a 1 到a n 請你幫忙找出a i a j 的最大值,其中1 i j n.第一行乙個數 表示一共有 組資料 t 20 每組...
zzulioj 1899 985的最大和難題
985的最大和難題 time limit 1 sec memory limit 128 mb submit 285 solved 29 submitstatusweb board description 985有2 n 1個整數,他每次可以將其中n個數變號,操作次數不限,問他可以得到的最大和。inp...