Nov 232009
 

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.


  6 Responses to “BNPCHS 2009 – Qualification Round”

  1. saya kecewa 🙁

  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 ;))

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

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

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

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

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)