It looks like you're new here. If you want to get involved, click one of these buttons!

- 140.7K All Categories
- 104.4K Programming Languages
- 6.4K Assembler Developer
- 1.8K Basic
- 39.7K C and C++
- 4.2K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 1.9K PHP
- 505 Python
- 48 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 309 Console programming
- 88 DirectX Game dev
- 1 Minecraft
- 108 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 726 Computer Hardware
- 3.4K Database & SQL
- 520 Electronics development
- 1.6K Matlab
- 627 Sound & Music
- 254 XML Development
- 3.3K Classifieds
- 189 Co-operative Projects
- 178 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 599 Jobs Wanted
- 201 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 3K Miscellaneous
- 3 Join the Team
- 2 User Profiles
- 353 Comments on this site
- 59 Computer Emulators
- 1.8K General programming
- 159 New programming languages
- 597 Off topic board
- 163 Mobile & Wireless
- 37 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 16 Cloud Computing
- 52 FreeBSD
- 1.7K LINUX programming
- 366 MS-DOS
- 0 Shell scripting
- 319 Windows CE & Pocket PC
- 4.1K Windows programming
- 884 Software Development
- 403 Algorithms
- 67 Object Orientation
- 85 Project Management
- 88 Quality & Testing
- 233 Security
- 7.5K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 33 JQuery
- 285 WEB Servers
- 112 WEB-Services / SOAP

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Nemanja1234
Posts: **2**Member

in Pascal

[color=Red]Guys can you solve these 3 problems for me? thanks :D

Please solve at least one of these,Thanks very much![/color]

1.Given is array (s1, ..., sn) of length n. Sign si is + or -. Given is array of n + 1 numbers (a1, ..., an+ 1).

You need to put numbers between signs so that solution of this expression is maximal. You need to find value val defined as:

val = max{ap(1) s1 ... ap(n) sn ap(n + 1) | p is a permutation of numbers from 1 to n + 1.

INPUT:

In first row of standard input is natural number n (1 <= n <= 100000). In second row are n signs s1 to sn. Every sign is '+' or '-'. Signs are not separated with empty space. In third row are n + 1 numbers: a1 to an + 1, separated with empty space. All this numbers are from interval [0, 1000000].

OUTPUT:

In first and only row of standard output, You need to write this maximal value val.

Input:

3

+-+

1 2 3 4

Output:

8

Explanation:

This is the only one solution

2+3-1+4

Input:

2

++

1 3 2

Output:

6

Explanation:

Every permutation of numbers gives optimal answer.

Input:

4

----

3 12 1 2 0

Output:

6

Explanation:

Every permutation with 12 on first place is optimal.

2.n Integers are given. You need to decompose these numbers in their factors, i.e. write them as product of their prime factors. Every number write in format p1^a1*p2^a2*...*pk^ak , where p1 <= p2 <= ... <= pk are prime factors of given number (in ascending order) and a1, a2, ..., ak - are their powers. Between factors and powers are symbols '*' and '^'. No empty spaces in printed solution.

INPUT:

In first line are integer n <= 200.000. In next n lines are numbers bi for decomposition (2 <= bi <= 200.000). Every number in separated line.

OUTPUT:

On standard output write decomposition in above given format.

Notice:

In 40% tests n <= 1.000

Input:

3

10

23

180

Output:

2^1*5^1

23^1

2^2*3^2*5^1

3.Next month will be auction for buying land on recently discovered new oil fields. Fields are spread under rectangular valley X by Y (Y represented number of rows and X represented number of columns). Lower left hectare have coordinate (1, 1). Hectare is square unit of land surface.

Your company have limited budget but also have right to choose and buy land before auction start. What sellers don

Please solve at least one of these,Thanks very much![/color]

1.Given is array (s1, ..., sn) of length n. Sign si is + or -. Given is array of n + 1 numbers (a1, ..., an+ 1).

You need to put numbers between signs so that solution of this expression is maximal. You need to find value val defined as:

val = max{ap(1) s1 ... ap(n) sn ap(n + 1) | p is a permutation of numbers from 1 to n + 1.

INPUT:

In first row of standard input is natural number n (1 <= n <= 100000). In second row are n signs s1 to sn. Every sign is '+' or '-'. Signs are not separated with empty space. In third row are n + 1 numbers: a1 to an + 1, separated with empty space. All this numbers are from interval [0, 1000000].

OUTPUT:

In first and only row of standard output, You need to write this maximal value val.

Input:

3

+-+

1 2 3 4

Output:

8

Explanation:

This is the only one solution

2+3-1+4

Input:

2

++

1 3 2

Output:

6

Explanation:

Every permutation of numbers gives optimal answer.

Input:

4

----

3 12 1 2 0

Output:

6

Explanation:

Every permutation with 12 on first place is optimal.

2.n Integers are given. You need to decompose these numbers in their factors, i.e. write them as product of their prime factors. Every number write in format p1^a1*p2^a2*...*pk^ak , where p1 <= p2 <= ... <= pk are prime factors of given number (in ascending order) and a1, a2, ..., ak - are their powers. Between factors and powers are symbols '*' and '^'. No empty spaces in printed solution.

INPUT:

In first line are integer n <= 200.000. In next n lines are numbers bi for decomposition (2 <= bi <= 200.000). Every number in separated line.

OUTPUT:

On standard output write decomposition in above given format.

Notice:

In 40% tests n <= 1.000

Input:

3

10

23

180

Output:

2^1*5^1

23^1

2^2*3^2*5^1

3.Next month will be auction for buying land on recently discovered new oil fields. Fields are spread under rectangular valley X by Y (Y represented number of rows and X represented number of columns). Lower left hectare have coordinate (1, 1). Hectare is square unit of land surface.

Your company have limited budget but also have right to choose and buy land before auction start. What sellers don

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

163Member: Please solve at least one of these,Thanks very much![/color]

: 1.Given is array (s1, ..., sn) of length n. Sign si is + or -. Given

: is array of n + 1 numbers (a1, ..., an+ 1).

:

: You need to put numbers between signs so that solution of this

: expression is maximal. You need to find value val defined as:

:

: val = max{ap(1) s1 ... ap(n) sn ap(n + 1) | p is a permutation of

: numbers from 1 to n + 1.

:...............

Here's the solution for your first problem:[code][color=Blue]{ *** Compiler: FPC 2.x.x., should work with TP6+ as well *** }

{$mode tp}

const max_element=12; // 12 numbers max, so the number of permutations be samller than

12! ( !=factorial )

type short_array=array[1..max_element] of integer;

// swaps two integers

procedure swap(var a,b:integer);

begin

if a=b then exit;

a:=a xor b;b:=a xor b;a:=a xor b; // fast arithmetic swap

end;

// sorts the first "l" elements of an array in ascending order

function sort(input:short_array;l{enght}:byte):short_array;

var i,j:byte;

begin

if not(l in [2..max_element]) then exit; // check for programmer error

for i:=l downto 2 do

for j:=1 to i do

if input[i]max then begin max:=t;b:=a;end; // new maximum found

while permutate(a,j) do begin // get next combination

t:=calculate(a,j,s);

if t>max then begin max:=t;b:=a;end; // new maximum found

inc(count);

write(#8#8#8#8#8#8#8#8,calc_perc(max_fact,count)); // display progress <-- slow,

remove for speed

end;

writeln(#13#10#13#10'Maximum possible value: ',max);

write('With the given combination: ',b[1]);

for i:=2 to j do write(s[i-1],b[i]);writeln;

readln;

end.

[/color][/code]

- Spam

0 · Vote Down Vote Up · Share on Facebook