Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- unsigned long long cbjabs(long long a){
- if(a < 0){
- char x[64] = { 0 };
- unsigned long long t;
- sprintf(x, "%lld", a);
- sscanf(x + 1, "%llu", &t);
- return t;
- }
- else{
- return a;
- }
- }
- int main(){
- long long a, b;
- unsigned long long a0, b0;
- char s1 = 0, s2 = 0;
- scanf("%lld%lld", &a, &b);
- if(a < 0){
- s1 = 1;
- a0 = -a;//cbjabs(a);
- }
- else{
- a0 = a;
- }
- if(b < 0){
- s2 = 1;
- b0 = -b;//cbjabs(b);
- }
- else{
- b0 = b;
- }
- if(s1 == 1 && s2 == 1){
- //负 负
- if((a0 + b0 > 9223372036854775808ull) || ((a0 == 9223372036854775808ull) && (b0 == 9223372036854775808ull))){
- puts("NO!");
- }
- else{
- printf("%lld\n", a + b);
- }
- }
- else if(s1 == 0 && s2 == 1){
- //正 负
- printf("%lld\n", a + b);
- }
- else if(s1 == 1 && s2 == 0){
- //负 正
- printf("%lld\n", a + b);
- }
- else{
- //正 正
- if(a0 + b0 > 9223372036854775807ull){
- puts("PO!");
- }
- else{
- printf("%lld\n", a + b);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement