#include main(){ int N; scanf("%d",&N); int A,B; scanf("%d %d",&A,&B); int isodd = A%2;//奇数かどうかのフラグ int max = A + 4*B; long long count = 0; for(int i=1;i < N;i++){ scanf("%d %d",&A,&B); //もし偶奇が一致しなかったら if(isodd != A%2){ printf("-1\n"); return 0; } if(max < A + 4*B){//最大値更新 count += (A + 4*B - max)/2 * i;//現最大値と前最大値の差*行数 max = A + 4*B; }else{ count += (max - (A+4*B)) / 2; } } printf("%lld\n",count); }