Submission #1018542

#TimeUsernameProblemLanguageResultExecution timeMemory
1018542huutuanSorting (IOI15_sorting)C++14
54 / 100
5 ms732 KiB
#include "sorting.h" #include <bits/stdc++.h> using namespace std; int a[200010]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { iota(a, a+N, 0); for (int i=M-1; i>=0; --i) swap(a[X[i]], a[Y[i]]); if (is_sorted(S, S+N)) return 0; for (int i=0; i<M; ++i){ P[i]=Q[i]=0; swap(a[X[i]], a[Y[i]]); if (is_sorted(S, S+N)) return i+1; swap(S[X[i]], S[Y[i]]); for (int j=0; j<N; ++j) if (a[j]!=S[j]){ int k=find(S, S+N, a[j])-S; P[i]=j; Q[i]=k; break; } swap(S[P[i]], S[Q[i]]); if (is_sorted(S, S+N)) return i+1; } for (int j=0; j<N; ++j) assert(S[j]==j); return M; }

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:19:34: warning: conversion from 'long int' to 'int' may change value [-Wconversion]
   19 |          int k=find(S, S+N, a[j])-S;
      |                ~~~~~~~~~~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...