• + 2 comments

    This code seems slow because after having iterated through every integers passed in to get a, you're iterating through a again to find val > 0, cal < 0 val == 0. This is what I did:

    int main()
    {
        int N;
        cin >> N;
    
        double nP = 0.0, nN = 0.0, nZ = 0.0;
        int index = 0, num = 0;
        while (index++ < N && cin >> num)
        {
            nP += (num > 0);
            nN += (num < 0);
            nZ += (num == 0);
        }
    
        printf("%.3f\n", nP/N);
        printf("%.3f\n", nN/N);
        printf("%.3f", nZ/N);
        return 0;
    }