为什么使用cin不行,scanf却可以ya?区别在哪呢?

图片说明
今天做到一个题,在输入的时候使用scanf能通过,cin却有个测试点不过,为什么呀555

scanf版:

#include <cstdio>
using namespace std;

int main()
{
    int N; scanf("%d", &N);
    for(int i = 0; i < N; i++){
        long long a, b, c;
        scanf("%lld%lld%lld", &a, &b, &c);
        long long sum = a + b;
        if(a > 0 && b > 0 && sum < 0){
            printf("Case #%d: true\n", i + 1);
        } else if(a < 0 && b < 0 && sum >= 0){
            printf("Case #%d: false\n", i + 1);
        } else if(sum > c){
            printf("Case #%d: true\n", i + 1);
        } else{
            printf("Case #%d: false\n", i + 1);
        }
    }
    return 0;
}

图片说明

cin版:

#include <iostream>
using namespace std;

int main()
{
    int N; cin >> N;
    for(int i = 0; i < N; i++){
        long long a, b, c;
        cin >> a >> b >> c;
        long long sum = a + b;
        if(a > 0 && b > 0 && sum < 0){
            printf("Case #%d: true\n", i + 1);
        } else if(a < 0 && b < 0 && sum >= 0){
            printf("Case #%d: false\n", i + 1);
        } else if(sum > c){
            printf("Case #%d: true\n", i + 1);
        } else{
            printf("Case #%d: false\n", i + 1);
        }
    }
    return 0;
}

图片说明

初学不太明白,求大佬们指点指点鸭,是long long的原因吗?

可能是Cin与Printf混用导致的吧...