回看前四天代码
前言
水日记
代码
#include <bits/stdc++.h>
using namespace std;
int a[100000];
int main()
{
int n,k;
while(cin>>n,n)
{
stack<int>s;
while(cin>>a[0],a[0])
{
for(int i=1;i<n;i++)
cin>>a[i];
k=0;
for(int i=1;i<=n;i++)
{
s.push(i);
while(s.top()==a[k])
{
k++;
if(!s.empty()) s.pop();
if(s.empty()) break;
}
}
if(k==n) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
cout<<endl;
}
}
#include <bits/stdc++.h>
using namespace std;
struct student1
{
char s[25];
int score;
};
int cmp (student1 a, student1 b);
int a[20];
int main()
{
int n,m,g,n1,n2,num;
struct student1 stu[1010];
while (scanf("%d%d%d",&n,&m,&g),n)
{
num=0;
for (int i = 1; i <= m; i++)
{
scanf("%d",&a[i]);
}
for (int i = 0; i < n; i++)
{
cin>>stu[i].s;
scanf("%d",&n1);
stu[i].score=0;
for (int j = 0; j < n1; j++)
{
scanf("%d",&n2);
stu[i].score+=a[n2];
}
if(stu[i].score>=g) num++;
}
sort(stu,stu+n,cmp);
cout<<num<<endl;
for (int i = 0; i < num; i++)
{
cout<<stu[i].s;
printf(" %d\n",stu[i].score);
}
}
}
int cmp (student1 a, student1 b) {
if (a.score!=b.score)
{
return a.score>b.score;
}
else
{
return strcmp(a.s, b.s) > 0 ? 0 : 1;
}
}
#include<iostream>
using namespace std;
const int N = 200000 + 10;
int v[N];
int f[N];
int find(int x)
{
if (x != f[x])
{
int y = f[x];
f[x] = find(f[x]);
v[x] += v[y];
}
return f[x];
}
int main()
{
int n, m;
while (cin >> n >> m)
{
for (int i = 0; i <= n; i++)
{
v[i] = 0;
f[i] = i;
}
int ans = 0;
while (m--)
{
int l, r, w;
cin >> l >> r >> w;
l--;
int fl = find(l);
int fr = find(r);
if (fl == fr)
{
if (v[l] - v[r] != w) ans++;
}
else
{
f[fl] = fr;
v[fl] = v[r] + w - v[l];
}
}
cout << ans << endl;
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int n,k,ans,t,flag;
int check(int x)
{
int l=1,r=n;
while (l<r)
{
int mid=(l+r)/2;
if (a[mid]==x)
return 1;
else if (a[mid]>x)
r=mid;
else
l=mid+1;
}
return 0;
}
int main()
{
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&n,&k);
ans=0;
memset(a,0,sizeof(a));
for (int i = 1; i <= n; i++)
{
scanf("%d",&a[i]);
}
sort(a+1,a+1+n);
for (int i = 1; i <= n; i++)
{
if (check(k-a[i]))
{
ans++;
if (a[i]==a[i-1]&&i!=1)
ans--;
}
}
printf("%d\n",ans);
}
}