ԵՊՀ ծրագրավորման անհատական օլիմպիադայի խնդիրները
A. Օպտիմալ ընտրույթ
Տրված է բնական թվերի բազմություն, որում կրկնվող թիվ չկա։ Օպտիմալ ընտրույթ կանվանենք այն ենթաբազմությունը, որի տարրերի գումարը չի գերազանցում տրված C թվին և գոյություն չունի այլ ենթաբազմություն, որի տարրերի գումարը ավելի մեծ լինի և չգերազանցի C թվին։
Պահանջվում է գրել ծրագիր, որը տրված բազմության համար արտածի օպտիմալ ընտրույթի տարրերի գումարը։
Մուտքը
Առաջին տողում տրված է C (10 <= C <= 35,000) բնական թիվը և N (1 <= N <= 21) բնական թիվը։ Երկրորդ տողում տրված են N բնական թվեր, որոնք չեն գերազանցում 35000-ը։
Ելքը
Ելքում պետք է արտածել մի թիվ՝ օպիտմալ ընտրույթի տարրերի գումարը։
Օրինակ
|
input.txt |
output.txt |
|
40 6 7 13 17 19 29 31
|
39 |
39-ը ստացվում է հետևյալ կերպ. 7 + 13 + 19 = 39։ Ավելի լավ տարբերակ չկա։
B. Տեղափոխություն
Տրված n թվի համար պահանջվում է կառուցել 1-ից n թվերի տեղափոխություն (այսինքն n երկարության այնպիսի հաջորդականություն, որտեղ 1-ից n թվերից յուրաքանչյուրը հանդիպում է ճիշտ մեկ անգամ) այնպես, որ ցանկացած երեք հարևան թվերի մեջ կա մեկը, որը մյուս երկուսի գումարից մեծ է կամ հավասար։
Մուտքը
Մուտքում տրված է մի n (3 ≤ n ≤ 1000)։
Ելքը
Ելքում պետք է արտածել խնդրի պահանջներին բավարարող որևէ հաջորդականություն, թվերն իրարից անջատելով բացակներով կամ նոր տողի անցման սիմվոլներով։ Եթե այդպիսի հաջորդականություն հնարավոր չէ կառուցել տրված n-ի համար, պետք է արտածել 0 (զրո) թիվը։
Մուտքային և ելքային տվյալների օրինակ
|
input.txt |
output.txt |
|
5 |
2 3 5 1 4 |
C. Զառ
N×N չափի տախտակի վրա հարավ-արևմտյան անկյունում գտնվող (1,1) վանդակում գտնվում է խաղալու խորանարդ, որի յուրաքանչյուր նիստի վրա կետեր կան նկարված։ Ներքևի նիստի վրա մի կետ է նկարված, վերևի նիստի վրա վեց կետ, արևմտյան նիստի վրա հինգ կետ, արևելյան նիստի վրա երկու կետ, հարավային նիստի վրա չորս կետ, հյուսիսային նիստի վրա երեք կետ։ Մի քայլով թույլատրվում է խորանարդը շրջել հարևան (ըստ կողի) վանդակի վրա։ Այդ դեպքում խորանարդի նոր ներքևի նիստի կետերի քանակով տուգանային միավոր է հաշվվում։ Պահանջվում է խորանարդը հասցնել տրված i,j կոորդինատներով վանդակը մինիմալ տուգանային միավորներ հավաքելով։
Մուտքը
Մուտքային ֆայլում տրված են N, i և j թվերը։ Տախտակի չափերը չեն գերազանցում 20-ը։
Ելքը
Ելքային ֆայլի առաջին տողում պետք է արտածել մինիմալ տուգանային բալը։
Մուտքային և ելքային ֆայլերի օրինակներ.
|
input.txt |
output.txt |
|
20 2 2 |
5 |
D. The Grand Dinner
Each team participating in this year’s ACM World Finals contest is expected to join the grand dinner to be arranged after the prize giving ceremony ends. In order to maximize the interaction among the members of different teams, it is expected that no two members of the same team sit at the same table.
Now, given the number of members in each team (including contestants, coaches, reserves, guests etc.) and the seating capacity of each available table, you are to determine whether it is possible for the teams to sit as described in the previous paragraph. If such an arrangement is possible you must also output one possible seating arrangement. If there are multiple possible arrangements, any one is acceptable.
Input
The first line of the input contains two integers M (1 ≤ M ≤ 70) and N (1 ≤ N ≤ 50) denoting the number of teams and the number of tables respectively. The second line M integers where the i-th (1 ≤ i ≤ M) integer mi (1 ≤ mi ≤ 100) indicates the number of members of team i. The third line contains N integers where the j-th (1 ≤ j ≤ N) integer nj (2 ≤ nj ≤ 100) indicates the seating capacity of table j.
Output
In the output print a line containing either 1 or 0 depending on whether or not there exists a valid seating arrangement of the team members. In case of a successful arrangement print M additional lines where the i-th (1 ≤ i ≤ N) of these lines contains a table number (an integer from 1 to N) for each of the members of team i.
Sample Input and Output
|
input.txt |
output.txt |
|
4 5 4 5 3 5 3 5 2 6 4 |
1 1 2 4 5 1 2 3 4 5 2 4 5 1 2 3 4 5 |
|
4 5 4 5 3 5 3 5 2 6 3 |
0 |



Vardan Grigoryan on September 29, 2009, 11:14
Էհ… ես մենակ մի օրինաչափություն գիտեմ` 1,2,3,4…, n
))
Aram on September 29, 2009, 07:48
Mianshanak chen voroshvum mjus texerum, araji erku texi tver@ voroshel@ heriq chi vorovhetev xndir@ asuma >=, voch te =, nenc vor karan shat tarberakner linen, voronq bolor@ qnnarkelu depqum ete ahagin optimizacvi, karelia minchev 250-i hamar mi qani vajrkjanum patasxan stanal, bajc ed lucum chi. Uxxaki inch vor orinachaputjun ka, vor dranov stacvox hajordakanutjun@ bavararuma xndri pajmanin, u tenc xndir@ lucvuma, bajc te inchia ed orinachaputjun@ chisht, chgitem
Vardan Grigoryan on September 28, 2009, 13:03
Արամ ջան, ինձ թվում ա էս ալգորիթմի քայլերի քանակը ամենաշատը n*(n-1) ա, որովհետև իմ կարծիքով իմաստը էս ա… սկզբի 2 թիվը ընտրում ենք 1-ից n միջակայքի կամայական թիվ` առաջին տեղի համար n հնարավորություն, 2-րդ տեղի համար (n-1) հնարավորություն, քանի որ մեկն արդեն ընտրել ենք առաջին տեղի համար, իսկ մնացած տեղերում արդեն միանշանակ կորոշվեն թվեր` այսինքն 1 հնարավորություն… Եթե սխալվում եմ, ուղղեք:
iReporter on September 28, 2009, 12:55
ես բան չհասկացա… բայց երևի թե լավ խնդիրներ են
))
Aram on September 28, 2009, 11:04
Indz hetaqrqira erkrord xndir@ normal apacujcov lucum uni te che?