提交时间:2024-01-21 14:54:34

运行 ID: 121030

#include<bits/stdc++.h> using namespace std; long long q[1000100]; int n,a; void work(int a,int n){ int rear=2; q[1]=a; int two=1,three=1; while(rear<=n){ long long t1=q[two]*2+1,t2=q[three]*3+1; int t=min(t1,t2); if(t1<t2) two++;else three++; if(t==q[rear-1]) continue; q[rear++]=t; } cout<<q[n]<<endl; } int main(){ while(cin>>a>>n) work(a,n); return 0; }