This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "shoes.h"
#include<bits/stdc++.h>
#define LLI long long int
#define pii pair<int,int>
#define ULTRA 2134567890
#define de(x) if( x && x == MODE)
#define MODE 0
using namespace std;
int cht[1007][2];
long long count_swaps(std::vector<int> s) {
int i,j;
pii mini = { ULTRA, 0};
int n = s.size();
LLI ans = 0;
for( i=0; i<n; i+=2)
{
memset( cht, 0x7f, sizeof( cht));
LLI mini = ULTRA;
int l;
int r;
for( j=n-1; j>=i; j--)
{
if( s[j] < 0)
{
cht[ -s[j] ][0] = j;
}
else
{
cht[ s[j] ][1] = j;
}
int color = abs(s[j]);
if( cht[ color ][0] + cht[ color ][1] < mini)
{
mini = cht[ color ][0] + cht[ color ][1];
l = cht[ color ][0];
r = cht[ color ][1];
}
}
for( j=l; j>i; j--)
{
swap( s[j], s[j-1]);
if( j == r)
r++;
ans++;
}
for( j=r; j>i+1; j--)
{
swap( s[j], s[j-1]);
ans++;
}
de(1)
{
printf("( %d, %d)\n", l, r);
for( auto it:s)
{
printf("%d ", it);
}
printf("\n");
}
}
return ans;
}
// int main()
// {
// int i,j;
// int n;
//
// scanf("%d", &n);
//
// vector<int> s;
// for( i=0; i<n; i++)
// {
// int a;
// scanf("%d", &a);
// s.push_back(a);
// }
// LLI ans = count_swaps(s);
// printf("%lld\n", ans);
// return 0;
// }
Compilation message (stderr)
shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:16:6: warning: variable 'mini' set but not used [-Wunused-but-set-variable]
pii mini = { ULTRA, 0};
^~~~
shoes.cpp:48:6: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
r++;
~^~
shoes.cpp:23:7: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
int l;
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |