BNPCHS 2009 - Qualification Round
A - Bujur Sangkar Ajaib
Author: Ryan Leonel Somali
Problem: klik di sini
Soal ini adalah soal termudah di babak penyisihan. Yang perlu kita lakukan hanya menjumlahkan 1 sampai n2 kemudian bagi hasilnya dengan n. Untuk n <= 100, solusi O(n2) dengan menjumlahkan semua bilangan dari 1 hingga n2 sudah cukup untuk mendapatkan accepted. Namun jika anda mau, solusi soal ini bisa dioptimasi menjadi O(1) dengan rumus:
ans = (1 + 2 + 3 + … + n2) / n
ans = (n2 * (n2 + 1) / 2) / n
ans = n * (n2 + 1) / 2
Total 43 peserta berhasil menyelesaikan soal ini.
Solusi C/C++
oleh Ryan Leonel Somali
#include <stdio.h>
int main()
{
int n, T;
scanf( "%d", &T );
while ( T-- )
{
scanf( "%d", &n );
printf( "%d\n", (n * n + 1) * n / 2 );
}
}
Solusi PASCAL
oleh Eko Wibowo
var i, n, T, x : longint;
begin
read(T);
for i := 1 to t do
begin
read(n);
x := ((n * n + 1) * n) div 2;
writeln(x);
end;
end.
- Problem A - Bujur Sangkar Ajaib
- Problem B - Menghitung Palindrom
- Problem C - String Prima
- Daftar Finalis
saya kecewa
mahli
23 Nov 09 at 6:41 pm
Gw pas liat di Google Reader nongol “Suhendry’s Blog (1)” wah udah kesenengan gw akhirnya blog entah INC atawa ICPC nongol… Gak taunyaaaaa…… >>>>>>.<<<<<<<
Hmm… jangan2 blog INC/ICPC teralu susah yah shu ;)) jadi ditunda2 mulu. Kalo HS aja langsung nongol ;))
Felix Halim
23 Nov 09 at 7:48 pm
oh iya, ada ilham juga… doh, kabur dolo ah xD
suhendry
23 Nov 09 at 11:38 pm
wkkwkwkwkwkw… gile shu… BNPCHS kluar dluan…. event belakangan, writeup keluar dluan….
Felix J
24 Nov 09 at 9:45 pm
su…..where r u know???????
Onopuccino
6 Dec 09 at 4:07 pm
hehe…mas shu lagi jd tersangka…:)
brainplusplus
8 Dec 09 at 7:41 am