func_code_string: #include <cstdio>   #include <cstring>   #include <iostream>   #include <algorithm>      using namespace std;      const int N = 100000;      long long n;      struct ab   {    long long a;    long long b;    bool operator < (const struct ab &c) const    {     return b < c.b;    }   } aa[N + 5];   long long sus[N + 5];      int main()   {    scanf( %lld , &n);    long long su = 0;    for (int i = 1; i <= n; ++i)    {     scanf( %lld%lld , &aa[i].a, &aa[i].b);     su += aa[i].a;    }    sort(aa + 1, aa + n + 1);    sus[n + 1] = 0;    for (int i = n; i >= 1; --i)    {     sus[i] = sus[i + 1] + aa[i].a;    }    long long ans = 0;    long long p = 0, ext = 0;    for (int i = 1; i <= n; ++i)    {     long long cc = aa[i].b - (p + ext);     if (sus[i + 1] <= ext)     {      if (aa[i].b <= p + ext)      {       ans += aa[i].a - (ext - sus[i + 1]);      }      else if (aa[i].b <= p + ext + aa[i].a - (ext - sus[i + 1]))      {       ans += p + ext + aa[i].a - (ext - sus[i + 1]) - aa[i].b;       ans += 2 * cc;      }      else      {       ans += 2 * (aa[i].a - (ext - sus[i + 1]));      }      break;     }     else if (aa[i].b <= p + ext)     {      ans += aa[i].a;      p += aa[i].a;     }     else if (sus[i + 1] - ext >= cc)     {      ans += 2 * cc;      ext += cc;      ans += aa[i].a;      p += aa[i].a;     }     else     {      ans += 2 * (sus[i + 1] - ext);      cc -= sus[i + 1] - ext;      if (cc >= aa[i].a)      {       ans += 2 * aa[i].a;      }      else      {       ans += 2 * cc + (aa[i].a - cc);      }      break;     }    }       // for (int i = 1; i <= n; ++i)   // {   //  if (aa[i].b >= su)   //  {   //   ans += 2 * (su - p - ext);   //   break;   //  }   //  else if (aa[i].b <= p + ext)   //  {   //   ans += aa[i].a;   //   p += aa[i].a;   //  }   //  else if (sus[i + 1] >= aa[i].b - p)   //  {   //   ans += 2 * (aa[i].b - p - ext);   //   ext += aa[i].b - p - ext;   //   ans += aa[i].a;   //   p += aa[i].a;   //  }   //  else if (sus[i + 1] < aa[i].b - p - ext)   //  {   //   ans +=    //  }   // }        printf( %lld , ans);    return 0;   }      