描述
老龍王酷愛收藏寶貝,他蒐羅了很多寶貝藏在他的龍宮之中。某日一小偷潛入龍宮之中企圖盜竊龍宮寶物。假設寶物是被一字排列的,每個寶物都裝在乙個盒子裡,老龍王在某些盒子裡設計了一些陷阱。小偷如果拿到裝有寶物的盒子,則會獲得一定的收益,如果盒子裡有陷阱則會有一定的損失。小偷為了盡快的拿走寶物而不被發現,決定從某個盒子開始,連續的拿走若干的盒子。問小偷從哪個盒子開始拿並且拿多少個盒子,才能使得到的收益最高。
輸入描述
題目包含多組輸入
n表示有n個盒子(n<=1000000),隨後n個數表示每個盒子能帶來的收益val,(-100<=val<=100)。
輸出描述
輸出兩個值小偷拿的第乙個盒子的位置i(從1開始數),拿走盒子的個數k。中間用空格隔開。如果有多種結果,要求在i盡量小的前提下k盡量大(因為小偷很貪心,他總想多拿一點,當然知曉老龍王陰險的他也可以乙個都不拿並輸出"龍宮如此之窮")。
5 -1 2 3 -2 4
2 4提示
選擇 2 3 -2 4
/*未過
*****===[7.out]*****====
expected | yours
12 3 \ 3 1
******************************
*****===[6.out]*****====
expected | yours
222052 11923 \ 4792 2083
******************************
*/#include#includeusing namespace std;
int n,v;
int st,k,max,fst,fk;
int main()
else if(sum==max)
}if(sum<0)//
}if(fst==0&&fk==0)printf("23333333");
else
printf("%d %d\n",fst,fk);
}return 0;
}
//ac
#include #include #include using namespace std;
const int n = 1e6+10;
int n,num[n];
int dp[n];
int main()
if(!f)
memset(dp,0,sizeof dp);
int ansi,ansk;
int maxn = -100;
for(int i=n;i>=1;i--)
} int sum = 0;
for(int i=ansi;i<=n;i++)
} printf("%d %d\n",ansi,ansk - ansi + 1);
} return 0;
}
C 地宮取寶(動態規劃)
x 國王有乙個地宮寶庫,是 n m個格仔的矩陣,每個格仔放一件寶貝,每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 當小明走到出口時,如...
動態規劃 ybt1301 大盜阿福
阿福是一名經驗豐富的大盜。趁著月黑風高,阿福打算今晚洗劫一條街上的店鋪。這條街上一共有 n n 家店鋪,每家店中都有一些現金。阿福事先調查得知,只有當他同時洗劫了兩家相鄰的店鋪時,街上的報警系統才會啟動,然後警察就會蜂擁而至。作為一向謹慎作案的大盜,阿福不願意冒著被警察追捕的風險行竊。他想知道,在不...
藍橋杯 地宮取寶(動態規劃)
題面如下 x 國王有乙個地宮寶庫,是 n m n m 個格仔的矩陣,每個格仔放一件寶貝,每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格仔時,如果那個格仔中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它 當然,也可以不拿 ...