1. 程式人生 > >map容器的更復雜的用法

map容器的更復雜的用法

C. Equal Sumstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given kk sequences of integers. The length of the ii-th sequence equals to nini.

You have to choose exactly two sequences ii and jj (iji≠j) such that you can remove exactly one element in each of them in such a way that the sum of the changed sequence ii (its length will be equal to ni1ni−1

) equals to the sum of the changed sequence jj (its length will be equal to nj1nj−1).

Note that it's required to remove exactly one element in each of the two chosen sequences.

Assume that the sum of the empty (of the length equals 00) sequence is 00.

Input

The first line contains an integer kk (2k21052≤k≤2⋅105

) — the number of sequences.

Then kk pairs of lines follow, each pair containing a sequence.

The first line in the ii-th pair contains one integer nini (1ni<21051≤ni<2⋅105) — the length of the ii-th sequence. The second line of the ii-th pair contains a sequence of nini integers ai,1,ai,2,,ai,n

iai,1,ai,2,…,ai,ni.

The elements of sequences are integer numbers from 104−104 to 104104.

The sum of lengths of all given sequences don't exceed 21052⋅105, i.e. n1+n2++nk2105n1+n2+⋯+nk≤2⋅105.

Output

If it is impossible to choose two sequences such that they satisfy given conditions, print "NO" (without quotes). Otherwise in the first line print "YES" (without quotes), in the second line — two integers iixx (1ik,1xni1≤i≤k,1≤x≤ni), in the third line — two integers jjyy (1jk,1ynj1≤j≤k,1≤y≤nj). It means that the sum of the elements of the ii-th sequence without the element with index xx equals to the sum of the elements of the jj-th sequence without the element with index yy.

Two chosen sequences must be distinct, i.e. iji≠j. You can print them in any order.

If there are multiple possible answers, print any of them.

ExamplesinputCopy
2
5
2 3 1 3 2
6
1 1 2 2 2 1
outputCopy
YES
2 6
1 2
inputCopy
3
1
5
5
1 1 1 1 1
2
2 3
outputCopy
NO
inputCopy
4
6
2 2 2 2 2 2
5
2 2 2 2 2
3
2 2 2
5
2 2 2 2 2
outputCopy
YES
2 2
4 1
Note

In the first example there are two sequences [2,3,1,3,2][2,3,1,3,2] and [1,1,2,2,2,1][1,1,2,2,2,1]. You can remove the second element from the first sequence to get [2,1,3,2][2,1,3,2] and you can remove the sixth element from the second sequence to get 

相關推薦

map容器用法

C. Equal Sumstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputs

MySQL用法

建立 姓名 排序 create 針對 ont sql birt 至少   今天學了幾個MySQL的復雜用法,具體叫什麽名字已經記不太清了=-= 但是語法還是記住了。感覺今天學的語法並不是最重要的 ,邏輯才是。只要邏輯理清了 像是一個問題 分為幾步 找到哪是第一步,哪是第二步

一個尖括號能幹什麽,畫一個笑臉開始(為了支持交互,它又增添了JavaScript。HTML頁面也越來越臃腫。於是CSS便誕生了。API和核心代碼的出現使HTML能夠訪問更復雜的軟件功能--支持高級的交互和雲服務集成。這就是今天的HTML5)

重要 htm 服務 廠商 inf web運行 ima 用戶 界面 一個尖括號 < 一個尖括號能幹什麽 < ? 你可以編出一頂帽子 <(:-p 或一張笑臉 :-> 再或者更直接一些 20世紀90年代初,html作為一種簡單標記語言面

一個尖括號能幹什麼,畫一個笑臉開始(為了支援互動,它又增添了JavaScript。HTML頁面也越來越臃腫。於是CSS便誕生了。API和核心程式碼的出現使HTML能夠訪問更復雜的軟體功能--支援高階的互動和雲服務整合。這就是今天的HTML5)

一個尖括號 < 一個尖括號能幹什麼 < ? 你可以編出一頂帽子 <(:-p 或一張笑臉 :-> 再或者更直接一些   20世紀90年代初,html作為一種簡單標記語言面世,用於在網際網路上顯示超文字。經過發展,html逐漸包含圖片和佈局設計功能。為了支援互動,

【小白看的Java教程】第十九章,一點的陣列操作

陣列拷貝(掌握) 需求:定義一個方法arraycopy完成int型別陣列的拷貝 實現int型別陣列元素拷貝(掌握) 從指定源陣列中從指定的位置開始複製指定數量的元素到目標陣列的指定位置。 src - 源陣列 srcPos - 源陣列中的開始索引

《Unity Shader入門精要》總結 #第九章 的光照

1、Unity的渲染路徑 主要有3種:前向渲染路徑、延遲渲染路徑、頂點照明渲染路徑 攝像機單獨設定,若選擇User Player Settings,則攝像機會使用Project Settings的設定;否則覆蓋掉Project Settings的設定 ,若當前顯示卡並不

STL中map容器的一點點用法

1. map最基本的建構函式;map<string ,int>mapstring; map<int,string >mapint;map<sring,char>mapstring; map< char ,string>mapchar;map<ch

第四課 《背景邊框列表連結和的選擇器》

用時:3.5h 1、學習了background相關樣式屬性:background-color、background-image、background-repeat、background-position、background-attachment、background、background-size、多重背景

Delphi 2010支援泛型了,強大

因為工作原因,使用了Delphi2010,發現Delphi 2010支援泛型了,這個東西以前一直是C++的東西,現在盡然Object Pascal也支援了,雖然更復雜,但更符合邏輯語言了,非常的好,因為2007都還沒有支援泛型,估計是在2009版本中支援的,有了對泛型的支援,則更趨完美,更符合人類語言,但確實

Shell echo-使用echo實現的輸出格式控制

語法 Shell 的 echo 指令是用於字串的輸出。命令格式: echo string 當然也可以使用echo實現更復雜的輸出格式控制。 複雜輸出格式 1.顯示普通字串 echo "It is a test" 這裡的雙引號完全可以

統計母音字母——輸入一個字串,統計處其中母音字母的數量。點的話統計出每個母音字母的數量。

--完成語言 JAVA import java.util.HashSet; import java.util.Scanner; import java.util.Set; import java.io

【WPF學習】第六十二章 構建的模板

  在控制元件模板和為其提供支援的程式碼之間又一個隱含約定。如果使用自定義控制元件模板替代控制元件的標準模板,就需要確保新模板能夠滿足控制元件的實現程式碼的所有需要。   在簡單控制元件中,這個過程比較容易,因為對模板幾乎沒有(或完全沒有)什麼真正的需求。對於複雜控制元件,問題就顯得有些微妙了,因為控制元件的

Vue.js 學習筆記之六:構建的元件

在掌握瞭如何構建與編譯 Vue 元件的基礎知識之後,接下來就可以試著來構建一些更具有實際用處的複雜元件了。為了賦予元件更具實用性的後面,首先要做的就是讓這些元件具備監聽使用者自定義事件的能力,並且允許使用者為這些自定義事件註冊相應的處理函式,而這一切都要從`v-on`指令在 Vue 元件中的使用說起。 ##

mysql 觸發器 trigger用法 three (稍微的)

建立 我們 詳解 list sel ges 數據表 指定 進行 MySQL包含對觸發器的支持。觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。 創建觸發器 在MySQL中,創建觸發器語法如下: CR

mysql 觸發器 trigger用法 two (稍微的)

iter 幫我 時間 arc 有一個 spa 語法 name 刪除 觸發器(trigger):監視某種情況,並觸發某種操作。 觸發器創建語法四要素:1.監視地點(table) 2.監視事件(insert/update/delete) 3.觸發時間(after/before

容器擴容之分攤時間度分析

之前 超過 ret 分析 因此 style expect ++ 算法設計 以向量vector為例分析動態擴容算法設計和時間復雜度分析 擴容算法實現 如何實現擴容,新的容量取多少合適? 對於容器內部數據區為數組的容器來說,動態擴容是必須的,因為無法預測容器規模的增長,

JavaScript 判斷的優雅寫法

post turn 取消 兩個 size scrip div func 難度 轉發一篇文章,總結的很好: 前提 我們編寫js代碼時經常遇到復雜邏輯判斷的情況,通常大家可以用if/else或者switch來實現多個條件判斷,但這樣會有個問題,隨著邏輯復雜度的增加,代碼中的

C++ STL中的map容器用法詳解

Map是STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,m

C++中map容器用法詳解

Map是STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一

STL中 map 容器的基本用法

map 陣列寫法 #include <map> #include <string> #include <iostream> Using namespace std; Int main() {