Suhendry’s Blog

When in doubt, do math ;-)

BNPCHS 2009 - Qualification Round

with 6 comments

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.





Pages: 1 2 3 4 5

Written by suhendry

November 23rd, 2009 at 5:13 pm

6 Responses to 'BNPCHS 2009 - Qualification Round'

Subscribe to comments with RSS

  1. saya kecewa :(

    mahli

    23 Nov 09 at 6:41 pm

  2. 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

  3. oh iya, ada ilham juga… doh, kabur dolo ah xD

    suhendry

    23 Nov 09 at 11:38 pm

  4. wkkwkwkwkwkw… gile shu… BNPCHS kluar dluan…. event belakangan, writeup keluar dluan….

    Felix J

    24 Nov 09 at 9:45 pm

  5. su…..where r u know???????

    Onopuccino

    6 Dec 09 at 4:07 pm

  6. hehe…mas shu lagi jd tersangka…:)

    brainplusplus

    8 Dec 09 at 7:41 am

Leave a Reply