একটি ২D অ্যারে দেওয়া আছে n x 4 আকারের। nজন ছাত্র আছে, তাদের ID ০ থেকে n-1। প্রত্যেকের ইংরেজি, ভূগোল, গণিত, ইতিহাসে চারটি স্কোর আছে। টেবিলে ছাত্রগুলো তাদের স্কোরের যোগফল অনুযায়ী ডিক্রিজিং ক্রমে সর্টেড। যদি যোগফল সমান হয়, তবে ID বর্ধমান ক্রমে সর্টেড। ID ০ वाले ছাত্রের র্যাঙ্ক বের করতে হবে।
উদাহরণ
| 100 | 98 | 100 | 100 |
| 100 | 100 | 100 | 100 |
| 90 | 99 | 90 | 100 |
| 100 | 98 | 60 | 99 |
আউটপুট: 2
সমাধানের ধাপসমূহ
n := টেবিলের সাইজ
r := 1
p := table[0][0]+table[0][1]+table[0][2]+table[0][3]
for i := 1 to n-1:
if table[i][0]+table[i][1]+table[i][2]+table[i][3] > p:
r++
return r
সি++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int solve(vector<vector<int>> table) {
int n = table.size();
int r = 1;
int p = table[0][0]+table[0][1]+table[0][2]+table[0][3];
for (int i = 1; i < n; i++) {
if (table[i][0]+table[i][1]+table[i][2]+table[i][3] > p)
r++;
}
return r;
}
int main() {
vector<vector<int>> table = {
{100,98,100,100},
{100,100,100,100},
{90,99,90,100},
{100,98,60,99}
};
cout << solve(table) << endl;
}
ইনপুট
{ {100,98,100,100}, {100,100,100,100}, {90,99,90,100}, {100,98,60,99} }
আউটপুট
2