A
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a;
cin >> a;
cout << "0" << a[0] << a[1] << a[2];
return 0;
}
B
#include <bits/stdc++.h>
using namespace std;
map<string, int> mp;
string a[105], b[105];
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a[i] >> b[i];
if(a[i] != b[i])
{
mp[a[i]]++;
mp[b[i]]++;
}
else
mp[a[i]]++;
}
for(int i = 1; i <= n; i++)
{
if(mp[a[i]] >= 2 && mp[b[i]] >= 2)
{
printf("No\n");
return 0;
}
}
printf("Yes\n");
return 0;
}
C
#include <bits/stdc++.h>
using namespace std;
int a[20][100005];
int l;
int n;
int main()
{
scanf("%d", &n);
a[1][1] = 1;
l = 1;
for(int i = 2; i <= n; i++)
{
for(int j = 1; j <= l; j++)
a[i][j] = a[i - 1][j];
a[i][l + 1] = i;
for(int j = l + 2, k = 1; j <= l * 2 + 1; j++, k++)
a[i][j] = a[i - 1][k];
l = l * 2 + 1;
}
for(int i = 1; i <= l; i++)
printf("%d ", a[n][i]);
return 0;
}
D
#include <bits/stdc++.h>
using namespace std;
#define ll long long
struct node
{
ll x, cnt;
} q[200005];
ll head = 1, tail = 1;
ll n;
int main()
{
scanf("%lld", &n);
while(n--)
{
ll op, a, x;
scanf("%lld%lld", &op, &a);
if(op == 1)
{
scanf("%lld", &x);
q[tail++] = {a, x};
}
else
{
ll ans = 0;
while(a)
{
if(q[head].cnt <= a)
{
ans += (q[head].x * q[head].cnt);
a -= q[head].cnt;
head++;
}
else
{
ans += (q[head].x * a);
q[head].cnt -= a;
a = 0;
}
}
printf("%lld\n", ans);
}
}
return 0;
}