Tantangan
Tujuan Anda adalah untuk menulis program sesingkat mungkin yang akan mengambil daftar acara (seperti upvote, downvote, dll) dan mengembalikan reputasi pengguna dan hak istimewa yang ia dapatkan.
Peristiwa macam apa?
Berikut adalah bagan acara yang tercantum dalam urutan reputasi yang diperoleh:
-15 answer unaccepted
-10 answer unupvoted
-5 question unupvoted
-2 answer downvoted
-2 question downvoted
-2 unaccept answer
-1 downvote answer
+1 join website
+1 undownvote answer
+2 accept answer
+2 question undownvoted
+2 answer undownvoted
+5 question upvoted
+10 answer upvoted
+15 answer accepted
+100 association bonus
Keistimewaan apa?
Berikut adalah daftar hak istimewa, sesuai dengan reputasi yang diperlukan.
1 create posts
5 participate in meta
10 remove new user restrictions
10 create wiki posts
15 vote up
15 flag posts
20 talk in chat
50 comment everywhere
75 set bounties
100 edit community wiki
100 create chat rooms
125 vote down
150 create tags
200 retag questions
250 view close votes
500 cast close and reopen votes
750 established user
1000 edit questions and answers
1000 create gallery chat rooms
1250 create tag synonyms
1500 approve tag wiki edits
2000 access to moderator tools
3500 protect questions
4000 trusted user
Memasukkan
Input (pada STDIN) akan menjadi daftar acara, satu per baris, persis bagaimana mereka muncul di grafik pertama (kecuali untuk jumlah reputasi). Baris kosong mewakili akhir input. Berikut ini sebuah contoh (harus ada baris kosong di akhir):
join website
association bonus
answer upvoted
answer upvoted
question upvoted
answer accepted
answer upvoted
accept answer
unaccept answer
question unupvoted
accept answer
question upvoted
Keluaran
Baris pertama output (ke STDOUT) harus menyebutkan jumlah rep yang terakumulasi. Setiap baris setelah itu harus mencantumkan satu hak istimewa yang diperoleh, persis seperti yang muncul dan dalam urutan yang sama dengan bagan kedua. Output yang diharapkan untuk input di atas:
153 reputation
1 create posts
5 participate in meta
10 remove new user restrictions
10 create wiki posts
15 vote up
15 flag posts
20 talk in chat
50 comment everywhere
75 set bounties
100 edit community wiki
100 create chat rooms
125 vote down
150 create tags
Aturan, Batasan, dan Catatan
Ini golf kode. Aturan golf kode standar berlaku.
(EDIT: Karena saya memiliki dua entri yang mengakses file, saya ingin menunjukkan bahwa panjang file perlu ditambahkan ke panjang kode sebagai bagian dari aturan standar untuk kode golf)