亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cash.pas

?? NOI2007 Day1 證券交易 平衡樹代碼
?? PAS
字號:
Program ScaleRhyme_Cash;
Const
	InPath = 'cash.in' ;
	OutPath = 'cash.out' ;
	MaxN = 100000 ;
	Infinity = MaxLongint Div 8 ;
Type
	TIndex = Longint ;
	PTreapNode = ^TTreapNode ;
	TTreapNode = Record
		LRange,RRange,A,B:Extended;
		Priority:TIndex;
		LeftNode,RightNode:PTreapNode;
	End;
	TTreap = Object
		NullNode,RootNode,TmpNode:PTreapNode;
		A,B:Extended;
		Procedure Initialize;
		Procedure LeftRotate(Var CurNode:PTreapNode);
		Procedure RightRotate(Var CurNode:PTreapNode);
		Procedure DeleteNode(Var CurNode:PTreapNode);
		Procedure InsertNode(Var CurNode:PTreapNode;P,Q,L,R:Extended);
		Procedure Insert(P,Q,L,R:Extended);
		Procedure GetAB(E:Extended);
	End;
	Procedure TTreap.Initialize;
	Begin
		New(NullNode);
		NullNode^.Priority := Infinity ;
		NullNode^.LeftNode := NullNode ;
		NullNode^.RightNode := NullNode ;
		RootNode := NullNode ;
	End;
	Procedure TTreap.LeftRotate(Var CurNode:PTreapNode);
	Begin
		TmpNode := CurNode^.LeftNode ;
		CurNode^.LeftNode := TmpNode^.RightNode ;
		TmpNode^.RightNode := CurNode ;
		CurNode := TmpNode ;
	End;
	Procedure TTreap.RightRotate(Var CurNode:PTreapNode);
	Begin
		TmpNode := CurNode^.RightNode ;
		CurNode^.RightNode := TmpNode^.LeftNode ;
		TmpNode^.LeftNode := CurNode ;
		CurNode := TmpNode ;
	End;
	Procedure TTreap.DeleteNode(Var CurNode:PTreapNode);
	Begin
		If (CurNode^.LeftNode = NullNode) And (CurNode^.RightNode = NullNode) Then
		Begin
			Dispose(CurNode);
			CurNode := NullNode ;
			Exit;
		End;
		If CurNode^.LeftNode^.Priority < CurNode^.RightNode^.Priority Then
		Begin
			LeftRotate(CurNode);
			DeleteNode(CurNode^.RightNode);
		End
		Else	// CurNode^.LeftNode^.Priority >= CurNode^.RightNode^.Priority Then
		Begin
			RightRotate(CurNode);
			DeleteNode(CurNode^.LeftNode);
		End;
	End;
	Procedure TTreap.InsertNode(Var CurNode:PTreapNode;P,Q,L,R:Extended);
	Var
		X:Extended;
	Begin
		If CurNode = NullNode Then
		Begin
			New(CurNode);
			CurNode^.A := P ;
			CurNode^.B := Q ;
			CurNode^.LRange := L ;
			CurNode^.RRange := R ;
			CurNode^.Priority := Random(Infinity) ;
			CurNode^.LeftNode := NullNode ;
			CurNode^.RightNode := NullNode ;
			Exit;
		End;
		If (CurNode^.A >= P) And (CurNode^.B >= Q) Then
			Exit;
		If (CurNode^.A <= P) And (CurNode^.B <= Q) Then
		Begin
			DeleteNode(CurNode);
			InsertNode(CurNode,P,Q,L,R);
			Exit;
		End;
		X := (P - CurNode^.A)/(CurNode^.B - Q) ;
		If CurNode^.B > Q Then
		Begin
			If X < L Then
				Exit;
			If X < R Then
				R := X ;
			If CurNode^.RRange < X Then
			Begin
				DeleteNode(CurNode);
				InsertNode(CurNode,P,Q,L,R);
				Exit;
			End;
			If CurNode^.LRange < X Then
				CurNode^.LRange := X ;
		End
		Else	//CurNode^.B < Q
		Begin
			If X > R Then
				Exit;
			If X > L Then
				L := X ;
			If CurNode^.LRange > X Then
			Begin
				DeleteNode(CurNode);
				InsertNode(CurNode,P,Q,L,R);
				Exit;
			End;
			If CurNode^.RRange > X Then
				CurNode^.RRange := X ;
		End;
		If CurNode^.LRange >= R Then
		Begin
			InsertNode(CurNode^.LeftNode,P,Q,L,R);
			If CurNode^.LeftNode^.Priority < CurNode^.Priority Then
				LeftRotate(CurNode);
		End
		Else	//CurNode^.RRange < L
		Begin
			InsertNode(CurNode^.RightNode,P,Q,L,R);
			If CurNode^.RightNode^.Priority < CurNode^.Priority Then
				RightRotate(CurNode);
		End;
	End;
	Procedure TTreap.Insert(P,Q,L,R:Extended);
	Begin
		InsertNode(RootNode,P,Q,L,R);
	End;
	Procedure TTreap.GetAB(E:Extended);
	Begin
		TmpNode := RootNode ;
		While True Do
		Begin
			If (TmpNode^.LRange <= E) And (TmpNode^.RRange > E) Then
			Begin
				A := TmpNode^.A ;
				B := TmpNode^.B ;
				Exit;
			End;
			If TmpNode^.LRange > E Then
				TmpNode := TmpNode^.LeftNode
			Else	//TmpNode^.RRange < E
				TmpNode := TmpNode^.RightNode ;
		End;
	End;
Var
	FileIn,FileOut:Text;
	N:TIndex;
	StartMoney:Extended;
	A,B,Rate:Array [1..MaxN + 1] Of Extended;
	Q:Extended;
	F,FA,FB:Array [1..MaxN] Of Extended;
	Treap:TTreap;
	Procedure Init;
	Var
		I:TIndex;
	Begin
		ReadLn(FileIn,N,StartMoney);
		For I := 1 To N Do
			ReadLn(FileIn,A[I],B[I],Rate[I]);
	End;
	Procedure Main1;
	Var
		I,J:TIndex;
	Begin
		Q := StartMoney ;
		F[1] := Q/(A[1] * Rate[1] + B[1]) ;
		For I := 2 To N Do
		Begin
			For J := 1 To I - 1 Do
				If Q < F[J] * B[I] + F[J] * Rate[J] * A[I] Then
					Q := F[J] * B[I] + F[J] * Rate[J] * A[I] ;
			F[I] := Q/(A[I] * Rate[I] + B[I]) ;
		End;
		WriteLn(FileOut,Q:0:3);
	End;
	Procedure Main2;
	Var
		I:TIndex;
	Begin
		Randomize;
		Treap.Initialize;
		Q := StartMoney ;
		FB[1] := Q/(A[1] * Rate[1] + B[1]) ;
		FA[1] := FB[1] * Rate[1] ;
		Treap.Insert(FA[1],FB[1],0,Infinity);
		For I := 2 To N Do
		Begin
			Treap.GetAB(B[I]/A[I]);
			If A[I] * Treap.A + B[I] * Treap.B > Q Then
				Q := A[I] * Treap.A + B[I] * Treap.B ;
			FB[I] := Q/(A[I] * Rate[I] + B[I]) ;
			FA[I] := FB[I] * Rate[I] ;
			Treap.Insert(FA[I],FB[I],0,Infinity);
		End;
		WriteLn(FileOut,Q:0:3);
	End;
Begin
	Assign(FileIn,InPath);
	Reset(FileIn);
	Assign(FileOut,OutPath);
	Rewrite(FileOut);
	Init;
	If N <= 1000 Then
		Main1
	Else
		Main2;
	Close(FileIn);
	Close(FileOut);
End.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美一区喷水| 国产女人水真多18毛片18精品视频| 久久久久国产精品人| 亚洲欧美国产毛片在线| 国产精品1区2区3区| 91精品国产综合久久久久久漫画 | 欧美韩国日本综合| 国产一区三区三区| 久久久久久久久免费| 国产精品自拍网站| 久久久久国产精品人| 成人爽a毛片一区二区免费| 久久久久久久av麻豆果冻| 成人av高清在线| 亚洲综合男人的天堂| 欧美一区二区三区四区久久| 91小视频免费观看| 欧美日韩国产成人在线91| 中文乱码免费一区二区| 久久99精品久久久久久动态图| 青青青伊人色综合久久| 亚洲精品乱码久久久久久久久| 久久久国产一区二区三区四区小说| 91精品国产品国语在线不卡| 色94色欧美sute亚洲线路一久| 国产suv一区二区三区88区| 久久精品国产99国产| 丝袜诱惑亚洲看片| 性感美女久久精品| 亚洲午夜在线观看视频在线| 亚洲天天做日日做天天谢日日欢| 国产三级一区二区三区| 久久精品人人爽人人爽| 国产欧美日本一区二区三区| 欧美一区二区三区视频在线观看| 欧美猛男超大videosgay| 欧洲日韩一区二区三区| 色婷婷精品久久二区二区蜜臂av| 99久久er热在这里只有精品15| 成人免费毛片嘿嘿连载视频| 国产成人在线观看| 国产经典欧美精品| 成人动漫av在线| a美女胸又www黄视频久久| 99免费精品在线| 色婷婷av久久久久久久| 欧洲另类一二三四区| 精品国产乱码久久久久久1区2区| 亚洲男同性视频| 欧美不卡视频一区| 久久久久九九视频| 国产精品女上位| 日韩一区日韩二区| 亚洲免费大片在线观看| 一区二区三区影院| 日一区二区三区| 国产自产高清不卡| av不卡一区二区三区| 色婷婷av一区二区三区大白胸 | 国产在线播放一区| 高清av一区二区| 一本到高清视频免费精品| 欧美曰成人黄网| 日韩欧美国产一区二区在线播放| 久久亚洲一区二区三区明星换脸| 国产精品人人做人人爽人人添| 亚洲色图清纯唯美| 天天操天天干天天综合网| 免费成人你懂的| 国产精品亚洲一区二区三区在线| 丰满少妇久久久久久久| 日本久久一区二区| 欧美一区二区视频在线观看2020 | 亚洲免费观看高清在线观看| 亚洲一级二级三级在线免费观看| 久久精品国产成人一区二区三区| 国产福利一区二区| 91网站最新地址| 欧美巨大另类极品videosbest | 国产盗摄精品一区二区三区在线| 91在线一区二区| 91精品国产色综合久久不卡蜜臀 | 欧美成人一区二区三区片免费 | 欧美高清视频不卡网| 久久蜜臀中文字幕| 亚洲成人第一页| 国产成人av资源| 7777精品伊人久久久大香线蕉经典版下载| 国产精品看片你懂得| 亚洲123区在线观看| 国产成人亚洲精品狼色在线| 欧美色图片你懂的| 久久久亚洲精华液精华液精华液 | 国产传媒一区在线| 欧美久久婷婷综合色| 亚洲欧洲成人精品av97| 日韩电影免费一区| 99精品久久久久久| 26uuu久久综合| 爽好久久久欧美精品| 97久久精品人人做人人爽50路| 欧美成人一区二区三区在线观看| 依依成人综合视频| av在线一区二区三区| 精品美女一区二区| 亚洲动漫第一页| 91视频免费观看| 国产三级一区二区| 久久国产福利国产秒拍| 欧美日韩精品专区| 亚洲欧美激情小说另类| 国产成人午夜精品5599| 欧美v日韩v国产v| 亚洲不卡一区二区三区| 色综合咪咪久久| 国产精品福利av| 成人黄色一级视频| 精品成人一区二区三区四区| 日本美女一区二区| 欧美顶级少妇做爰| 亚洲一区二区三区影院| 一本到一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 成人激情电影免费在线观看| 国产欧美va欧美不卡在线| 国产综合色视频| 久久综合999| 国产一区二区三区在线看麻豆| 欧美电视剧在线看免费| 日本亚洲天堂网| 日韩欧美国产一区在线观看| 毛片av中文字幕一区二区| 91精品免费在线观看| 日本欧美一区二区在线观看| 欧美电影在线免费观看| 视频在线观看91| 日韩精品一区二区三区在线播放 | 亚洲老司机在线| 在线精品视频一区二区| 亚洲综合激情小说| 欧美在线视频日韩| 亚洲一二三四区不卡| 欧美丝袜第三区| 日韩在线一二三区| 日韩美女一区二区三区四区| 久久爱www久久做| 国产亚洲成aⅴ人片在线观看| 国产ts人妖一区二区| 亚洲欧洲国产专区| 欧美体内she精高潮| 日本欧美一区二区三区乱码| 精品av综合导航| 福利一区二区在线| 亚洲色图制服诱惑| 日本韩国欧美国产| 亚洲超碰精品一区二区| 日韩视频一区二区三区| 国产伦精品一区二区三区免费| 欧美激情资源网| 91老师片黄在线观看| 亚洲国产精品久久不卡毛片 | 中文字幕国产一区| 欧美一区二区在线不卡| 日韩欧美专区在线| 成人av在线观| 91精品福利在线| 91在线观看成人| 国产成人超碰人人澡人人澡| 国产一区二区三区在线观看免费 | 国产不卡视频一区二区三区| 国产欧美一二三区| 99久久精品国产导航| 午夜伦理一区二区| 国产欧美一区二区精品忘忧草| 不卡视频在线看| 午夜精品视频在线观看| 久久久国产午夜精品| 91久久国产最好的精华液| 久久国产精品露脸对白| 亚洲欧美偷拍三级| 日韩精品一区二区三区在线观看| 不卡视频一二三| 免费美女久久99| 中文字幕永久在线不卡| 欧美一区二区人人喊爽| 99久久er热在这里只有精品66| 青青草原综合久久大伊人精品 | 午夜电影一区二区| 久久久99久久| 欧美亚洲综合网| 岛国一区二区在线观看| 亚洲18色成人| 日韩毛片视频在线看| 日韩精品一区二区三区视频播放| 成人福利电影精品一区二区在线观看 | 欧美一卡二卡三卡| 99国产精品久久久久久久久久久| 日韩电影一区二区三区四区| 中文一区二区完整视频在线观看| 欧美日韩电影在线|