Submission #421184

#TimeUsernameProblemLanguageResultExecution timeMemory
421184PbezzSorting (IOI15_sorting)C++14
0 / 100
4 ms376 KiB
#include "sorting.h" #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> using namespace std; using namespace __gnu_pbds; #define ll long long #define pb push_back typedef pair<ll,ll> pii; typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> indexed_set; const ll MAXN=2e5+5; const ll INF=1e9+7; //map<ll,ll>ord; //ord[k] e a ordem de k int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { P[0] = 0; Q[0] = 0; vector<ll>seq(N); ll i,k,R=0; for(i=0;i<N;i++){ seq[i]=S[i]; } sort(seq.begin(),seq.end()); /* for(i=0;i<N;i++){ ord[seq[i]]=i+1; } for(i=0;i<N;i++){ S[i]=ord[S[i]]; }*/ //S[i] e agora uma permutaçao de tamanho N if(Y[0]==1){ swap(S[0],S[1]); for(k=0;k<N;k++){ if(S[k]==seq[0])break; } P[R]=k; Q[R]=1; R++; swap(S[k],S[1]); swap(S[0],S[1]); //agora, 1 esta em posiçao e vamos meter o 2 for(k=0;k<N;k++){ if(S[k]==seq[1])break; } P[R]=k; Q[R]=1; R++; swap(S[k],S[1]); //esta tudo bem, continuar for(i=3;i<=N;i++){//find i, send it to ith position for(k=0;k<N;k++){ if(S[k]==seq[i-1])break; } P[R]=k; Q[R]=i-1; R++; swap(S[k],S[i-1]); } if(R%2==1){ P[R]=0; Q[R]=0; R++; } }else{//his moves are redundant for(i=1;i<=N;i++){//find i, send it to ith position for(k=0;k<N;k++){ if(S[k]==seq[i-1])break; } P[R]=k; Q[R]=i-1; R++; swap(S[k],S[i-1]); } } return R; }

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:46:6: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   46 | P[R]=k;
      |      ^
sorting.cpp:57:6: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   57 | P[R]=k;
      |      ^
sorting.cpp:69:6: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   69 | P[R]=k;
      |      ^
sorting.cpp:70:7: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   70 | Q[R]=i-1;
      |      ~^~
sorting.cpp:90:6: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   90 | P[R]=k;
      |      ^
sorting.cpp:91:7: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   91 | Q[R]=i-1;
      |      ~^~
sorting.cpp:98:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   98 |  return R;
      |         ^
sorting.cpp:19:39: warning: unused parameter 'M' [-Wunused-parameter]
   19 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                   ~~~~^
sorting.cpp:19:46: warning: unused parameter 'X' [-Wunused-parameter]
   19 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                          ~~~~^~~
#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...