Submission #349654

#TimeUsernameProblemLanguageResultExecution timeMemory
349654rrrr10000Sorting (IOI15_sorting)C++14
0 / 100
11 ms492 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for(long long i=0;i<(long long)(n);i++) #define REP(i,k,n) for(long long i=k;i<(long long)(n);i++) #define all(a) a.begin(),a.end() #define rsort(a) {sort(all(a));reverse(all(a));} #define pb emplace_back #define eb emplace_back #define lb(v,k) (lower_bound(all(v),(k))-v.begin()) #define ub(v,k) (upper_bound(all(v),(k))-v.begin()) #define fi first #define se second #define pi M_PI #define PQ(T) priority_queue<T> #define SPQ(T) priority_queue<T,vector<T>,greater<T>> #define dame(a) {out(a);return 0;} #define decimal cout<<fixed<<setprecision(15); #define dupli(a) {sort(all(a));a.erase(unique(all(a)),a.end());} typedef long long ll; using vi=vector<ll>; #include "sorting.h" int findSwapPairs(int n,int s[],int m,int x[],int y[],int P[],int Q[]){ vi v(n); rep(i,n)v[i]=s[i]; rep(i,m)swap(v[x[i]],v[y[i]]); vi target(n);rep(i,n)target[i]=i; rep(i,m)P[i]=Q[i]=0; for(int i=m-1;i>=0;i--){ int w=-1,t=-1; rep(j,n)if(target[j]!=v[j])w=j; if(w!=-1){ rep(j,n)if(target[w]==v[j])t=j; assert(t!=-1); P[i]=t;Q[i]=w; swap(target[t],target[w]); } swap(target[x[i]],target[y[i]]);swap(v[x[i]],v[y[i]]); } return m; }/* int main(){ int n;cin>>n; int s[10];rep(i,n)cin>>s[i]; int m;cin>>m; int x[10],y[10]; rep(i,m)cin>>x[i]>>y[i]; int p[10],q[10]; out(findSwapPairs(n,s,m,x,y,p,q)); rep(i,m)outp(P(p[i],q[i])); rep(i,m){ swap(s[x[i]],s[y[i]]); swap(s[p[i]],s[q[i]]); } rep(i,n)cout<<s[i]<<' ';cout<<endl; }*/

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:30:38: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   30 |         rep(j,n)if(target[j]!=v[j])w=j;
      |                                      ^
sorting.cpp:32:42: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   32 |             rep(j,n)if(target[w]==v[j])t=j;
      |                                          ^
#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...