题意:给出str,in,exp问在用完exp的条件下,有多少种可能使得改变之后的str>in;(exp分为两个部分,一个部分在str上,另一个在in上,也可以其中一个都没有分得exp);
这道题很简单;只需要用柱状图想一想就可以明白;
比如这种:
然后如果只是这样交上去就wa了;
因为还有这种情况:
当exp很大的时候,那么就有exp+1种;这是最极端的情况;
所以最后只需要在能找出str>in的情况下求解就行了;
因为如果str+exp<=in了,那么肯定就不成立了;你把exp全部加到str上面也无济于事;
所以AC代码;
#include<bits/stdc++.h>
using namespace std;
int main(){
int str,in,exp;
int T;
cin>>T;
while(T--){
cin>>str>>in>>exp;
if(str+exp<=in)printf("0\n");
else printf("%d\n",min((str+exp-in+1)/2,exp+1));
}
return 0;
}