我也一直超时,后来找了一个PASCAL的程序,改了下,OJ过了#include <iostream>#include <string>usingnamespacestd;intmain(){ inti,n,old,woman; charren; string dui; cin >> n; dui =""; old =0; woman =0; for(i=0; i< n; i++) { cin >> ren ; if(ren=='1') old++ ; elseif(ren=='2') woman++; dui+=ren; } for(i=0; i< n; i++) { if(dui[i]=='3') cout << old+woman<< ' '; elseif(dui[i]=='2') { cout <<old <<' '; woman-=1; } else { cout <<"0 "; old-=1; } }}