A:简单模拟,我还WA了三发。。真是罪过罪过啊
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
using namespace std;
#define PB push_back
#define MP make_pair
#define REP(i,n) for(int i=0;i<(n);++i)
#define FOR(i,l,h) for(int i=(l);i<=(h);++i)
#define DWN(i,h,l) for(int i=(h);i>=(l);--i)
#define CLR(vis,pos) memset(vis,pos,sizeof(vis))
#define PI acos(-1.0)
#define INF 0x7FFFFFFF
#define LINF 1000000000000000000LL
#define eps 1e-8
typedef long long ll;
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,s;
cin>>n>>s;
s*=100;
int ans=-1;
int a,b;
REP(i,n)
{
cin>>a>>b;
int res=s-(a*100+b);
if(res>=0)
ans=max(ans,res%100);
}
cout<<ans<<endl;
return 0;
}
B:瞎搞的。。
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
using namespace std;
#define PB push_back
#define MP make_pair
#define REP(i,n) for(int i=0;i<(n);++i)
#define FOR(i,l,h) for(int i=(l);i<=(h);++i)
#define DWN(i,h,l) for(int i=(h);i>=(l);--i)
#define CLR(vis,pos) memset(vis,pos,sizeof(vis))
#define PI acos(-1.0)
#define INF 0x7FFFFFFF
#define LINF 1000000000000000000LL
#define eps 1e-8
typedef long long ll;
int a[123456],sum[123456];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n;
cin>>n;
FOR(i,1,n)
{
scanf("%d",&a[i]);
}
sum[n]=0;
int ans=a[n];
DWN(i,n-1,1)
{
sum[i]=sum[i+1]+(a[i]-a[i+1]);
//cout<<sum[i]<<" "<<a[i]-a[i+1]<<a[i]<<endl;
if(sum[i]>=0 && a[i]-a[i+1]>=0)
{
ans=max(ans,a[i]);
//cout<<sum[i]<<" "<<a[i]-a[i+1]<<" "<<a[i]<<endl;
}
}
cout<<ans<<endl;
return 0;
}
C:贪心
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
using namespace std;
#define PB push_back
#define MP make_pair
#define REP(i,n) for(int i=0;i<(n);++i)
#define FOR(i,l,h) for(int i=(l);i<=(h);++i)
#define DWN(i,h,l) for(int i=(h);i>=(l);--i)
#define CLR(vis,pos) memset(vis,pos,sizeof(vis))
#define PI acos(-1.0)
#define INF 0x7FFFFFFF
#define LINF 1000000000000000000LL
#define eps 1e-8
typedef long long ll;
int scan()
{
char c;
while(c=getchar(),(c<'0'||c>'9')&&(c!='-'));
bool flag=(c=='-');
if(flag) c=getchar();
int x=0;
while(c>='0'&&c<='9')
{
x=x*10+c-48;
c=getchar();
}
return flag?-x:x;
}
const int maxn=2345;
int a[maxn][maxn];
ll l[maxn<<1],r[maxn<<1];
int n;
int main()
{
n=scan();
FOR(i,1,n)
{
FOR(j,1,n)
{
a[i][j]=scan();
l[i+j]+=a[i][j];
r[i-j+n]+=a[i][j];
}
}
pair<int,int> x,y;
ll t1=-1,t2=-1;
ll tmp;
FOR(i,1,n)
{
FOR(j,1,n)
{
if((i+j)&1)
{
tmp=l[i+j]+r[i-j+n]-a[i][j];
if(tmp>t1)
{
t1=tmp;
x.first=i,x.second=j;
}
}
else
{
tmp=l[i+j]+r[i-j+n]-a[i][j];
if(tmp>t2)
{
t2=tmp;
y.first=i,y.second=j;
}
}
}
}
cout<<t1+t2<<endl;
cout<<x.first<<" "<<x.second<<" "<<y.first<<" "<<y.second<<endl;
return 0;
}
DE没看。。
明天把这三场的DE看了吧。。。