当前位置:网站首页>(Supplement) double pointer topic
(Supplement) double pointer topic
2022-07-03 16:28:00 【leimingzeOuO】

M - Letters
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
#define x first
#define y second
#define LL long long
#define int LL
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
LL Mod(LL a,LL mod){
return (a%mod+mod)%mod;}
LL lowbit(LL x){
return x&-x;}// Its lowest 1 And behind it 0 The value of composition
LL qmi(LL a,LL b,LL mod) {
LL ans = 1; while(b){
if(b & 1) ans = ans * (a % mod) % mod; a = a % mod * (a % mod) % mod; b >>= 1;} return ans; }
int _;
int n,m;
const int N=2e5+10;
int a[N],b[N];
int s[N];
void solve()
{
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];
for(int i=1;i<=m;i++)cin>>b[i];
for(int i=1;i<=m;i++)
{
int l=0,r=n;
while(l<r)
{
int mid=l+r+1>>1;
if(s[mid]<=b[i])l=mid;
else r=mid-1;
}
if(s[l]!=b[i])
cout<<l+1<<' '<<b[i]-s[l]<<endl;
else cout<<l<<' '<<s[l]-s[l-1]<<endl;
}
}
signed main()
{
io;
//cin>>_;
//while(_--)
solve();
return 0;
}
N - Kirill And The Game
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
#define x first
#define y second
#define LL long long
#define int LL
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
LL Mod(LL a,LL mod){
return (a%mod+mod)%mod;}
LL lowbit(LL x){
return x&-x;}// Its lowest 1 And behind it 0 The value of composition
LL qmi(LL a,LL b,LL mod) {
LL ans = 1; while(b){
if(b & 1) ans = ans * (a % mod) % mod; a = a % mod * (a % mod) % mod; b >>= 1;} return ans; }
int _;
int l,r,x,y,k;
void solve()
{
cin>>l>>r>>x>>y>>k;
for(int i=x;i<=y;i++)
{
int left=l,right=r;
while(left<right)
{
int mid=left+right>>1;
if(mid>=k*i)right=mid;
else left=mid+1;
}
if(i*k==left)
{
cout<<"YES"<<endl;
return;
}
}
cout<<"NO"<<endl;
}
signed main()
{
io;
//cin>>_;
//while(_--)
solve();
return 0;
}
O - Sereja and Dima
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int n;
cin>>n;
vector<int>v;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
v.push_back(x);
}
int a=0,b=0;
int l=0,r=v.size()-1;
while(l<=r)
{
if(l<=r&&v[l]<v[r])a+=v[r--];
else if(l<=r)a+=v[l++];
if(l<=r&&v[l]<v[r])b+=v[r--];
else if(l<=r)b+=v[l++];
}
cout<<a<<' '<<b<<endl;
return 0;
}
P - Alice, Bob and Chocolate
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
#define x first
#define y second
#define LL long long
#define int LL
#define pb push_back
#define all(v) (v).begin(),(v).end()
#define PII pair<int,int>
#define ll_INF 0x7f7f7f7f7f7f7f7f
#define INF 0x3f3f3f3f
#define debug(x) cerr << #x << ": " << x << endl
#define io ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
LL Mod(LL a,LL mod){
return (a%mod+mod)%mod;}
LL lowbit(LL x){
return x&-x;}// Its lowest 1 And behind it 0 The value of composition
LL qmi(LL a,LL b,LL mod) {
LL ans = 1; while(b){
if(b & 1) ans = ans * (a % mod) % mod; a = a % mod * (a % mod) % mod; b >>= 1;} return ans; }
int _;
int n;
const int N=1e5+10;
int a[N];
int s[N];
void solve()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];
vector<PII>v;
for(int i=1;i<=n;i++)
{
int x=s[i],y=s[n]-s[i];
if(x-a[i]>y||y-a[i+1]>x)continue;
else v.pb({
i,n-i});
}
int m=v.size()-1;
cout<<v[m].x<<' '<<v[m].y<<endl;
return;
}
signed main()
{
io;
//cin>>_;
//while(_--)
solve();
return 0;
}
边栏推荐
- Using optimistic lock and pessimistic lock in MySQL to realize distributed lock
- First knowledge of database
- Add color to the interface automation test framework and realize the enterprise wechat test report
- (补)双指针专题
- pyinstaller不是内部或外部命令,也不是可运行的程序 或批处理文件
- 跟我学企业级flutter项目:简化框架demo参考
- PHP CI (CodeIgniter) log level setting
- Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
- Mongodb installation and basic operation
- Unreal_DataTable 实现Id自增与设置RowName
猜你喜欢

From the 18th line to the first line, the new story of the network security industry

2022 love analysis · panoramic report of digital manufacturers of state-owned enterprises

Cocos Creator 2. X automatic packaging (build + compile)

Cocos Creator 2.x 自动打包(构建 + 编译)

(补)双指针专题

Unreal_ Datatable implements ID self increment and sets rowname

Stm32f103c8t6 firmware library lighting

拼夕夕二面:说说布隆过滤器与布谷鸟过滤器?应用场景?我懵了。。

Détails du contrôle de la congestion TCP | 3. Espace de conception

Mysql 将逗号隔开的属性字段数据由列转行
随机推荐
Is it safe to open an account with tongdaxin?
一台服务器最大并发 tcp 连接数多少?65535?
架构实战营 - 第 6 期 毕业总结
Nine ways to define methods in scala- Nine ways to define a method in Scala?
[proteus simulation] 8 × 8LED dot matrix screen imitates elevator digital scrolling display
Client does not support authentication protocol requested by server; consider upgrading MySQL client
TCP拥塞控制详解 | 3. 设计空间
8个酷炫可视化图表,快速写出老板爱看的可视化分析报告
LeetCode1491. Average value of wages after removing the minimum wage and the maximum wage
NSQ source code installation and operation process
[redis foundation] understand redis persistence mechanism together (rdb+aof graphic explanation)
Why does the std:: string operation perform poorly- Why do std::string operations perform poorly?
Golang 匿名函数使用
面试之 top k问题
斑马识别成狗,AI犯错的原因被斯坦福找到了
Is it safe to open a stock account by mobile registration? Does it need money to open an account
2022 love analysis · panoramic report of digital manufacturers of state-owned enterprises
Svn usage specification
How to set up SVN server on this machine
关于视觉SLAM的最先进技术的调查-A survey of state-of-the-art on visual SLAM