LeetCode Biweekly Contest 12 2問目 - Design A Leaderboard [1244]

Source

LeetCode Biweekly Contest 12
問題文

問題概要

省略

解法

省略

cLayversion 20191102-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

class Leaderboard {
public:
  int score[10001];
  int lis[1001], sz;

  Leaderboard() {
    rep(i,10001) score[i] = 0;
    sz = 0;
  }

  void addScore(int id, int s) {
    if(score[id] > 0){
      rep(i,sz) if(lis[i]==score[id]) break;
      lis[i] += s;
      score[id] += s;
      return;
    }
    score[id] = s;
    lis[sz++] = s;
  }

  int top(int K) {
    int res = 0;
    sort(lis, lis+sz);
    rep(i,K) res += lis[sz-1-i];
    return res;
  }

  void reset(int id) {
    if(score[id] > 0){
      rep(i,sz) if(lis[i] == score[id]) break;
      arrErase(i, sz, lis);
      score[id] = 0;
    }
  }
};

Current time: 2024年04月25日00時43分29秒
Last modified: 2019年11月03日19時56分00秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: