社区讨论
ABC416D,双指针求 hack
学术版参与者 2已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mdkb511o
- 此快照首次捕获于
- 2025/07/26 21:50 7 个月前
- 此快照最后确认于
- 2025/11/04 03:40 4 个月前
如题。核心代码:
CPPlong long a[300005] , b[300005];
void solve()
{
long long n , m;
read(n , m);
readarray(a , 1 , n);
readarray(b , 1 , n);
sort(a + 1 , a + n + 1);
sort(b + 1 , b + n + 1);
long long ans = 0;
for(int i = 1 ; i <= n ; i++)
{
ans += a[i];
ans += b[i];
}
for(int i = 1 , j = n ; i <= n && j >= 1 ; )
{
while(i <= n && a[i] + b[j] < m)
{
i++;
}
if(a[i] + b[j] >= m)
{
ans -= m;
}
i++ , j--;
}
printnl(ans);
}
我的思路就是这样双指针,求 hack。
回复
共 9 条回复,欢迎继续交流。
正在加载回复...