Topcoder涓嶯OI鐨勮鍒欏尯鍒細
銆?銆慣opcoder鐨勪唬鐮佷笉鏄竴涓畬鏁寸殑浠g爜錛堣繛main()閮界背鏈夛級錛岃屽彧鏄竴涓被錛岀被閲岄潰鍙湁涓涓柟娉曪紙鐩稿綋浜巑ain()錛夈備笉鐢ㄨ緭鍏ャ佽緭鍑猴紝緋葷粺浼氬皢杈撳叆鏁版嵁鐩存帴浼犻掑埌榪欎釜鏂規硶鐨勫弬鏁伴噷錛屽湪鏂規硶鎵ц瀹屽悗灝嗚繑鍥炲肩洿鎺ヤ紶閫掑埌杈撳嚭閲屻傜被鍚嶃佹柟娉曞悕銆佽緭鍏ュ弬鏁扮被鍨嬨佽緭鍑虹粨鏋滅被鍨嬫槸鍦ㄥ師棰樹腑瑙勫畾鐨勶紙浣嗗弬鏁板悕銆佽緭鍑虹粨鏋滃悕鍙互鑷畾涔夛級銆備唬鐮佷腑鍙互錛堜篃蹇呴』錛変嬌鐢–++ STL銆?br>銆?銆戞崏棰樼殑鏃跺欙紝棰樼洰鎻忚堪涓嬮潰鐨勭紪鐮佸尯閲屽彲浠ョ洿鎺ョ紪浠g爜錛岀紪濂藉悗鐐逛笅闈㈢殑Compile緙栬瘧錛屽啀鐐筎est嫻嬭瘯錛堝彲浠ユ祴璇曟牱渚嬪拰鑷繁鐨勬暟鎹級錛屾祴璇曞畬姣曞悗錛岀偣Submit鎻愪氦銆傛墍浠ワ紝涓嶅繀鍚戝叾瀹僌J涓鏍峰湪IDE閲岀紪濂藉啀Ctrl+ACV鎻愪氦銆?br>鍏跺畠鐨勫彲浠ュ弬鐓х綉涓婂叾浠栦漢鍐欑殑涓滀笢銆?br>
鏈矙鑼跺厛鍦ㄩ噷闈㈡崏浜嗗嚑棰橈紙鍏ㄦ槸姘撮錛岀鐘囦笉瑕侀剻瑙嗭級錛屼唬鐮侊細
SRM 506 DIV1 250錛?br>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 175000, INF = ~0U >> 2;
class MathContest {
public:
int countBlack(string s0, int p)
{
string s = "";
bool a[MAXN];
re(i, p) s += s0;
int n = s.length(), res = 0;
re(i, n) a[i] = s[i] == 'B';
int i = 0, j = s.length() - 1;
bool reversed = 0, turned = 0, v;
while (i <= j) {
if (reversed) {
v = a[j--];
if (turned) v = !v;
} else {
v = a[i++];
if (turned) v = !v;
}
if (v) {res++; turned = !turned;} else reversed = !reversed;
}
return res;
}
};
SRM 506 DIV2 250錛?br>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 10000, INF = ~0U >> 2;
class SlimeXSlimeRancher2 {
public:
int train(vector <int> a)
{
int n = a.size(), m = -INF, res = 0;
re(i, n) m = max(m, a[i]);
re(i, n) res += m - a[i];
return res;
}
};
SRM 506 DIV2 500錛?br>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <iomanip>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
using namespace std;
#define re(i, n) for (int i=0; i<n; i++)
#define re1(i, n) for (int i=1; i<=n; i++)
#define re2(i, l, r) for (int i=l; i<r; i++)
#define re3(i, l, r) for (int i=l; i<=r; i++)
#define rre(i, n) for (int i=n-1; i>=0; i--)
#define rre1(i, n) for (int i=n; i>0; i--)
#define rre2(i, r, l) for (int i=r-1; i>=l; i--)
#define rre3(i, r, l) for (int i=r; i>=l; i--)
#define debug(x) cout << #x << " = " << x << endl;
#define pb push_back
#define re_t(i,x) for(typeof(x.begin()) i=x.begin();i!=x.end();i++)
#define all(x) x.begin(),x.end()
#define SORT(x) sort(all(x))
#define MP make_pair
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef vi::iterator vit;
typedef set<int> si;
typedef si::iterator sit;
typedef map<int,int> mii;
typedef mii::iterator mit;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef istringstream ISS;
typedef ostringstream OSS;
const int MAXN = 10000, INF = ~0U >> 2;
class SlimeXSlimesCity {
public:
int merge(vector <int> a)
{
int n = a.size();
SORT(a);
ll s = 0, s1;
int res = 0;
bool ff;
re(i, n) {
s += a[i]; s1 = s; ff = 1;
re2(j, i + 1, n) {
if (s1 < a[j]) {ff = 0; break;}
s1 += a[j];
}
res += ff;
}
return res;
}
};

]]>