So beat 100% is meaningless (at least for C++)
Basically, I submitted twice using C++ in contest, one got TLE, and one got AC, but they both passed after contest, and beat 100%. Shown as below:\n\nTLE one:\n
Basically, I submitted twice using C++ in contest, one got TLE, and one got AC, but they both passed after contest, and beat 100%. Shown as below:\n\nTLE one:\n```\nclass Solution {\npublic:\n    double maxAverageRatio(vector<vector<int>>& classes, int extraStudents) {\n        priority_queue<heapNode, vector<heapNode>, less<heapNode>> heap;\n        for(auto item : classes) {\n            heap.push(heapNode(item[0], item[1]));\n        }\n        for(int i = 0; i < extraStudents; ++i) {\n            auto tmp = heap.top();\n            // tmp.print();\n            heap.pop();\n            heap.push(heapNode(tmp.pass + 1, tmp.all + 1));\n        }\n        // cout << "-----" << endl;\n        double res = 0;\n        while(heap.size()) {\n            heapNode tmp = heap.top();\n            // tmp.print();\n            heap.pop();\n            res += tmp.pass / tmp.all;\n        }\n        res = res / (double(classes.size()));\n        return res;\n    }\nprivate:\n    struct heapNode {\n        double pass, all;\n        double foreseen;\n        heapNode(double x, double y) : pass(x), all(y) {\n            foreseen = (pass + 1) / (all + 1) - pass / all;\n        }\n        const bool operator < (const heapNode &p) const {\n            return this->foreseen < p.foreseen;\n        }\n        void print() {\n            cout << pass << " " << all << endl;\n        }\n    };\n};\n```\n\nAC one:\n```\nclass Solution {\npublic:\n    double maxAverageRatio(vector<vector<int>>& classes, int extraStudents) {\n        priority_queue<heapNode, vector<heapNode>, less<heapNode>> heap;\n        for(auto item : classes) {\n            heap.push(heapNode(item[0], item[1]));\n        }\n        for(int i = 0; i < extraStudents; ++i) {\n            auto tmp = heap.top();\n            // tmp.print();\n            heap.pop();\n            heap.push(heapNode(tmp.pass + 1, tmp.all + 1));\n        }\n        // cout << "-----" << endl;\n        double res = 0;\n        while(heap.size()) {\n            heapNode tmp = heap.top();\n            // tmp.print();\n            heap.pop();\n            res += tmp.pass / tmp.all;\n        }\n        res = res / (double(classes.size()));\n        return res;\n    }\nprivate:\n    struct heapNode {\n        double pass, all;\n        double foreseen;\n        heapNode(double x, double y) : pass(x), all(y), foreseen((pass + 1) / (all + 1) - pass / all) {}\n        const bool operator < (const heapNode &p) const {\n            return this->foreseen < p.foreseen;\n        }\n    };\n};\n```\n\nAnd during the contest it took 1464ms to AC, I submitted a third time using the AC code and ACed in 1884ms. (Very likely the time threshold is 2000ms)\n\nAs you can see there is **no** optimization between the two solution. And just before I re-submitted the above two pieces of code, **both** of them got AC, and with 996 - 984ms and told me the solution beats 100% of C++ submission, what a nice satire, leetcode! The unchanged pre-TLE code is actually a p100 level solution! \n\nOK backing to reasoning I can assume that it probably because of the spike of submission during the contest period impacted the judger\'s performance. And it is reasonable that as lc got hotter, more and more people join the contest, the service quality may deterioate. But this is the first time I experienced that this issue impact the submission status, and I don\'t think this should happen because the wrong submission status is greatly misleading especially during the contest. Feel really bad on this.
['C']