#22212: 為何程cin格式改成scanf會TEL?


panchunhsiang@gmail.com (沒牙)


 

 

#include <iostream>

#include <vector>

using namespace std;

 

int main()

{

    ios_base::sync_with_stdio(false);

    cin.tie(0);

    int n, m;

    vector<int> a(100005);

    a.clear();

    

    while (cin >> n >> m)

    {

        int N, sum = 0;

        a.push_back(sum);

        while(n--)

        {

            cin >> N;

            sum += N;

            a.push_back(sum);

        }

        int l, r;

        while (m--)

        {

            cin >> l >> r;

            cout << a[r] - a[l - 1] << '\n';

        }

        a.clear();

    }

}

#22213: Re:為何程cin格式改成scanf會TEL?


panchunhsiang@gmail.com (沒牙)


 

     目前是85ms,可是當我把裡面的cin改成scanf就會TLE,但是我電腦自己跑沒有問題

#25782: Re:為何程cin格式改成scanf會TEL?


Tamilala (Tamilala不是星導夢女)


 

     目前是85ms,可是當我把裡面的cin改成scanf就會TLE,但是我電腦自己跑沒有問題

 

ios_base::sync_with_stdio(false);

cin.tie(0);

試試看把這兩行拿掉?雖然這兩行可以協助優化cin、cout速度,不過好像會取消iostream跟stdio的同步,導致scanf跟printf出問題,所以可能問題出在這?