1 条题解
-
0
自动搬运
来自洛谷,原作者为

K_yuxiang_rose
洛谷一级保护废物。搬运于
2025-08-24 23:17:27,当前版本为作者最后更新于2025-06-06 21:56:36,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
「奇数与偶数相邻的情况最多只出现一次」实际上就是把奇数和偶数分开,那么只需要判断将奇数放在左边更优还是把偶数放在左边更优即可。
显然奇数与奇数,或偶数与偶数之间不需要交换,所以只需要统计当前奇数(或偶数)的出现次数,判断前面有几个位置已经被奇数(或偶数)占了,就能够求出操作步数了。
#include<bits/stdc++.h> #define int long long using namespace std; signed main() { int n,cnt1=0,cnt2=0,sum1=0,sum2=0; cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; if(x%2) cnt1++,sum1+=(i-cnt1); else cnt2++,sum2+=(i-cnt2); } cout<<min(sum1,sum2); return 0; } ```
- 1
信息
- ID
- 12433
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者