A:
http://codeforces.com/contest/990/problem/A
让 n 是 m 的整数倍, 的最小 花费 是多少
#include
typedef long long ll;
const int MAXN = 1e5+10;
using namespace std;
int main()
{
ll n,m,a,b;
cin>>n>>m>>a>>b;
if(n%m==0)
{
cout<<0<
B
大鱼吃小鱼,
问最后剩下几只大鱼
标记所有没有被吃掉的鱼,最后加上个数
http://codeforces.com/contest/990/problem/B
#include
typedef long long ll;
const int MAXN = 2e5+ 10;
using namespace std;
ll a[MAXN],b[MAXN];
mapmp;
int cmp(int a,int b)
{
return a>b;
}
int vis[MAXN];
int main()
{
ll n,k;
cin>>n>>k;
for(int i = 1 ;i<=n;i++)
{
cin>>a[i];
b[i]= a[i];
mp[a[i]]++;
}
sort(a+1,a+n+1);
int len = unique(a+1,a+1+n)-(a+1);
if(len==1)
{
cout<
C:
http://codeforces.com/contest/990/problem/C
左括号匹配右括号, 或者一个完整的括号区匹配完整的括号 , 问有多少种
先预处理所有的括号, "(" ++ , ") "--; 小于0 不考虑
>=0 起来,
然后 将字符串逆转后 所有的括号 取反 "("->")" ,")" -> "(";
在处理 所有的括号,
最后取结果.
#include
typedef long long ll;
const int MAXN = 3e5 +10;
#define fastIO ios_base::sync_with_stdio(0);
using namespace std;
int n;
string str[MAXN+10];
ll b[3][MAXN+10];
void init(int x)
{
for(int i = 1;i<=n;i++)
{
int len =str[i].size();
int c = 0;
int flag = 1;
for(int j = 0 ; j>n;
memset(b,0,sizeof(b));
for(int i = 1 ;i <=n ;i++)
{
cin>>str[i];
}
init(1);
for(int i = 1 ;i <=n ;i++)
{
reverse(str[i].begin(),str[i].end());
}
ll ans = 0;
for(int i = 1; i<=n;i++)
{
int len = str[i].size();
for(int j = 0; j
D:
http://codeforces.com/contest/990/problem/D
图的构造
边长为 n 图的联通块 为a , 补图的联通块为 b.
a 和b 其中必有一个 1, 否则 NO
当 n ==2 或者 n ==3 时 a =1 ,b= 1 为 NO
其余为YES
#include
typedef long long ll;
const int MAXN = 3e5 +10;
#define fastIO ios_base::sync_with_stdio(0);
using namespace std;
int mp[1200][1200];
int main()
{
int n,a,b;
cin>>n>>a>>b;
if(a != 1 && b!= 1)
{
cout<<"NO"<
1