Please help! ZCO problem!

what is wrong in this apporach?
problem link :- https://www.codechef.com/ZCOPRAC/problems/ZCO23002?tab=statement

//explain me why we use convex hull? like can't we do it normally? like this?

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, p;
    cin >> n >> p;
    vector<int> a(n), b(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        cin>> b[i];
    }
    vector<int> ans(n);
    for (int i = 0; i < n; i++) {
    for (int r = 0; r <= 100; r++) {
        ans[i] = max((r * a[i] + (100-r) * b[i]) / 100, ans[i]);
        ans[i]++;
    }}
    cout << ans.size() << endl;
    sort(ans.begin(), ans.end());
    ans.erase(unique(ans.begin(), ans.end()), ans.end());
    for (int i = 0; i < ans.size(); i++) {
        cout << i << endl;
    }
    return 0;
}