Day1上午
原题链接:37539.集训2025-02-02 11:42:02
发布于:上海
/*
1,2.贪心
3. 前缀和
4. 前缀,异或前缀和(位运算 1^1 = ?),后缀
5 双指针数组问题
*/
#include<bits/stdc++.h>
using namespace std;
int a;
string s,t;
int main()
{
cin >> a;
for(int i = 1;i <= a;i++)
{
cin >> s >> t;
sort(s.begin(),s.end());
sort(t.begin(),t.end(),greater<char>());
if(s < t)
{
cout << "YES";
}
else
{
cout << "NO";
}
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+5;
long long n,x,y,sum1,sum2;
long long a[N],b[N];
int main()
{
cin >> n >> x >> y;
int ans = n;
for(int i = 1;i <= n;i++)
{
cin >> a[i];
}
for(int i = 1;i <= n;i++)
{
cin >> b[i];
}
sort(a + 1,a + 1 + n,greater<int>());
sort(b + 1,b + 1 + n,greater<int>());
for(int i = 1;i <= n;i++)
{
sum1 += a[i];
if(sum1 > x)
{
ans = min(i,ans);
break;
}
}
for(int i = 1;i <= n;i++)
{
sum2 += b[i];
if(sum2 > y)
{
ans = min(i,ans);
break;
}
}
cout << ans;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
long long n;
int main()
{
cin >> n;
long long ans = 0;
long long cnt1 = n / 10;
long long cnt2 = n % 10;
ans += cnt1 * 100;
if(cnt2 >= 7)
{
ans += 100;
}
else
{
ans += 15 * cnt2;
}
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个