TLE because of sort using rbegin

Правка en4, от abba5, 2020-10-21 12:40:10

I was trying to submit this -> Remove Max Number of Edges to Keep Graph Fully Traversable question.

but I got TLE because of sort using rbegin

sort( edges.rbegin(), edges.rend())

but after change with comparator funtction code got accepted.

sort(edges.begin(), edges.end(), [&](vector <int> &a, vector <int> &b){
            return a[0] > b[0];
        });

Submission Using rbegin

Submission Using comparator

I tried to run this in local and got similar performance but when I used some different build command I got 2x time difference.

Build command: g++ a.cpp



Following code I used for benchmarking. <details open> <summary> Benchmarking code</summary>

int n; cin >> n; srand(time(0)); vector ans(n);

for(int i = 0; i < n; ++i){ ans[i] = random() % 100000; }

vector xyz = ans;

const clock_t begin_time = clock();

sort(ans.begin(), ans.end(), greater ());

std::cout << float( clock () — begin_time ) / CLOCKS_PER_SEC << endl;

const clock_t begin_time2 = clock(); sort(xyz.rbegin(), xyz.rend());

std::cout << float( clock () — begin_time2 ) / CLOCKS_PER_SEC << endl; ```

I think that leetcode is using similar build command to execute the program. Can anyone explain why this time difference happening?

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en10 Английский abba5 2020-10-21 13:45:49 187 Tiny change: 'difference. for N = 10^5\n\nBuild ' -> 'difference for $N = 10^5$\n\nBuild '
en9 Английский abba5 2020-10-21 13:10:49 7 Tiny change: 'ppening?\nWill this happened in code-f' -> 'ppening?\n\nWill this happen in code-f' (published)
en8 Английский abba5 2020-10-21 12:51:15 8 Tiny change: '//p.ip.fi/e8Pf)\n\nCan a' -> '//p.ip.fi/Wmnz)\n\nCan a'
en7 Английский abba5 2020-10-21 12:47:17 25 Tiny change: '(https://pastebin.com/ct1QGJZM)\n\n[Subm' -> '(https://p.ip.fi/wuD8)\n\n[Subm'
en6 Английский abba5 2020-10-21 12:46:02 12 Tiny change: 'ommand: \n```g++ a.cpp```\n\n\n```g' -> 'ommand: \n\n\n```g++ a.cpp```\n\n\n\n```g'
en5 Английский abba5 2020-10-21 12:42:38 651
en4 Английский abba5 2020-10-21 12:40:10 36
en3 Английский abba5 2020-10-21 12:39:11 3486
en2 Английский abba5 2020-10-21 12:34:00 16
en1 Английский abba5 2020-10-21 12:30:36 5080 Initial revision (saved to drafts)