618F Double Knapsack
2024-10-20 00:50:03
题目大意
分析
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
#define int long long
int vis[],a[],b[],p1[],p2[];
signed main(){
int n,m,i,j,k=,l1,l2,r1,r2;
scanf("%lld",&n);
for(i=;i<=n;i++)scanf("%lld",&a[i]),a[i]+=a[i-];
for(i=;i<=n;i++)scanf("%lld",&b[i]),b[i]+=b[i-];
if(a[n]>b[n]){
k=;
for(i=;i<=n;i++)swap(a[i],b[i]);
}
int L=;
for(i=;i<=n;i++){
while(L<n&&b[L+]<=a[i])L++;
int sum=a[i]-b[L];
if(vis[sum]){
l1=p1[sum]+,l2=p2[sum]+;
r1=i,r2=L;
break;
}else {
vis[sum]=;
p1[sum]=i,p2[sum]=L;
}
}
if(k)swap(l1,l2),swap(r1,r2);
printf("%lld\n",r1-l1+);
for(i=l1;i<=r1;i++)printf("%lld ",i);
puts("");
printf("%lld\n",r2-l2+);
for(i=l2;i<=r2;i++)printf("%lld ",i);
return ;
}
最新文章
- 一起来做chrome扩展《基础介绍》
- 怎样增强MyEclipse的代码自动提示功能
- MongoDB导入(mongoimport)-导出(mongoexport)工具使用
- AI(Adobe Illustrator)简单入门——骷髅
- mysql中Can&#39;t connect to MySQL server on &#39;localhost&#39; (10061)
- Android API Guides 学习笔记---Application Fundamentals(一)
- 如何设置NBU的Backup, Archive and Restore
- c#之xml
- Activex WindowsMediaPlayer控件主要方法属性
- VC++ 网络编程总结(一)
- class、classLoader的getResourceAsStream的区别
- 设计模式_State_状态模式
- SWFUpload 按钮显示问题
- Java同步工具类总结
- nginx log日志分割
- http://blog.csdn.net/luoshengyang/article/details/6651971
- SQL Tuning Advisor一个错误ORA-00600: internal error code, arguments: [kesqsMakeBindValue:obj]
- 彻底解决tap“点透”,提升移动端点击响应速度
- mysql备份并自动压缩命令
- 进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
热门文章
- CALayer 实现的动画效果(一)
- [ArgumentException: 可能证书“CN=JRNet01-PC”没有能够进行密钥交换的私钥,或者进程可能没有访问私钥的权限。有关详细信息,请参见内部异常。]
- [Luogu1527][国家集训队]矩阵乘法
- timer用作timestamp及其他
- 【POJ 3179】 Corral the Cows
- 洛谷 P2879 [USACO07JAN]区间统计Tallest Cow
- Log4j日志配置说明
- 【brew使用技巧】fix links
- Python3中的http.client模块
- ssh-copy-id:/usr/bin/ssh-copy-id: ERROR: No identities found