제출 #314604

#제출 시각아이디문제언어결과실행 시간메모리
314604talant117408Sorting (IOI15_sorting)C++17
0 / 100
82 ms632 KiB
#include "sorting.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <ll, ll> pii; #define precision(n) fixed << setprecision(n) #define pb push_back #define ub upper_bound #define lb lower_bound #define mp make_pair #define eps (double)1e-9 #define PI 2*acos(0.0) #define endl "\n" #define sz(v) int((v).size()) #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define do_not_disturb ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); inline bool isvowel(char ch){ ch = tolower(ch); return (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u'); } inline bool isprime(int n){ if(n < 2 || (n%2 == 0 && n != 2)) return false; for(int i = 3; i*i <= n; i++) if(n%i == 0) return false; return true; } int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { int i, j; int tmpS[M], tmpos[M]; for(i = 0; i < M; i++){ vector <pii> sws; for(j = 0; j < N; j++) tmpS[j] = S[j]; for(j = 0; j <= i; j++) swap(tmpS[X[j]], tmpS[Y[j]]); for(j = 0; j < N; j++) tmpos[tmpS[j]] = j; for(j = 0; j < N; j++){ if(tmpos[j] == j) continue; sws.pb(mp(tmpS[j], tmpS[tmpos[j]])); swap(tmpS[j], tmpS[tmpos[j]]); swap(tmpos[tmpS[j]], tmpos[tmpS[tmpos[j]]]); } if(sz(sws) <= i+1){ vector <pii> res1; for(j = 0; j < N; j++){ tmpS[j] = S[j]; tmpos[S[j]] = j; } for(j = 0; j < sz(sws); j++){ swap(tmpS[X[j]], tmpS[Y[j]]); swap(tmpos[tmpS[X[j]]], tmpos[tmpS[Y[j]]]); res1.pb(mp(tmpos[sws[j].first], tmpos[sws[j].second])); swap(tmpS[tmpos[sws[j].first]], tmpS[tmpos[sws[j].second]]); swap(tmpos[tmpS[tmpos[sws[j].first]]], tmpos[tmpS[tmpos[sws[j].second]]]); } while(sz(res1) <= i){ res1.pb(mp(0, 0)); } for(j = 0; j < sz(res1); j++){ P[j] = res1[j].first; Q[j] = res1[j].second; } return sz(res1); } } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

sorting.cpp: In function 'bool isvowel(char)':
sorting.cpp:23:14: warning: conversion from 'int' to 'char' may change value [-Wconversion]
   23 |  ch = tolower(ch);
      |       ~~~~~~~^~~~
sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:74:32: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   74 |                 P[j] = res1[j].first;
sorting.cpp:75:32: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   75 |                 Q[j] = res1[j].second;
#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...